The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Kdevelop + OpenSSL хедеры"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Kdevelop + OpenSSL хедеры"  
Сообщение от geragray email(ok) on 06-Июл-07, 13:42 
Установил Kdevelop и все необходимые компоненты к нему а также послуднюю версию OpenSSL (по дефолту устанавливается в /usr/local/ssl/include/openssl). Создал с проэкс с темплейтом для хелло ворд - все компилируется. Заменяю исходный код кодом dtls клиента взятого из http://freshmeat.net/projects/dtls_example/ в котором прописаны инклюды на опен ссл библиотеку вот так

#include <stdio.h>

#include <openssl/ssl.h>
#include <openssl/bio.h>
#include <openssl/err.h>

Пример не компилируется и выдает множество ошибок типа
/home/sergey/Ktest/src/ktest.c:182: undefined reference to `SSL_library_init'

Изменил пути на абсолютные
#include </usr/local/ssl/include/openssl/ssl.h>
все равно приложение хедеры не видит.

Вопрос - что я делаю не правильно? Есть специфика указания заголовочных файлов под линукс ? Заранее спасибо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Kdevelop + OpenSSL хедеры"  
Сообщение от NuINu (??) on 06-Июл-07, 13:58 
>Установил Kdevelop и все необходимые компоненты к нему а также послуднюю версию
>OpenSSL (по дефолту устанавливается в /usr/local/ssl/include/openssl). Создал с проэкс с темплейтом
>для хелло ворд - все компилируется. Заменяю исходный код кодом dtls
>клиента взятого из http://freshmeat.net/projects/dtls_example/ в котором прописаны инклюды на опен ссл
>библиотеку вот так
>
>#include <stdio.h>
>
>#include <openssl/ssl.h>
>#include <openssl/bio.h>
>#include <openssl/err.h>
>
>Пример не компилируется и выдает множество ошибок типа
>/home/sergey/Ktest/src/ktest.c:182: undefined reference to `SSL_library_init'
>
>Изменил пути на абсолютные
>#include </usr>
>все равно приложение хедеры не видит.
>
ну если хочешь так ;)попробуй заменить угловые скобки на кавычки.

а вообще тебе надо изменить/добавить переменную для компилятора -I
в конфигурации проекта для qt это переменная INCLUDE в файле проекта.

а в Кдевелоп, есть меню: проект-параметры проекта, там ищи параметры конфигуре,
ну и там думаю надо в едите CPPFLAGS и поставить заветную строку -I/usr/local/ssl/include/openssl/
и в сишнике
#include <ssl.h>
или
-I/usr/local/ssl/include/
и в сишнике
#include <openssl/ssl.h>

>Вопрос - что я делаю не правильно? Есть специфика указания заголовочных файлов
>под линукс ? Заранее спасибо.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Kdevelop + OpenSSL хедеры"  
Сообщение от vic (??) on 06-Июл-07, 14:05 
>Установил Kdevelop и все необходимые компоненты к нему а также послуднюю версию
>OpenSSL (по дефолту устанавливается в /usr/local/ssl/include/openssl). Создал с проэкс с темплейтом
>для хелло ворд - все компилируется. Заменяю исходный код кодом dtls
>клиента взятого из http://freshmeat.net/projects/dtls_example/ в котором прописаны инклюды на опен ссл
>библиотеку вот так
>
>#include <stdio.h>
>
>#include <openssl/ssl.h>
>#include <openssl/bio.h>
>#include <openssl/err.h>
>
>Пример не компилируется и выдает множество ошибок типа
>/home/sergey/Ktest/src/ktest.c:182: undefined reference to `SSL_library_init'
это не компилятор, это уже линкер, нуна подключать саму библу, не наю как и где в kdevelop это прописывается, а для make используются результаты детекта утилиты pkg-config:

флаги компиляции
$ pkg-config --cflags openssl  
опции компановки
$ pkg-config --libs openssl


>Изменил пути на абсолютные
>#include </usr/local/ssl/include/openssl/ssl.h>
>все равно приложение хедеры не видит.
если бы не видело хедеров писало бы 'не найден файл ssl.h'
не надо менять так пути, после правильного (см. выше) подключения openssl в проект усе заработает.

>Вопрос - что я делаю не правильно? Есть специфика указания заголовочных файлов
>под линукс ? Заранее спасибо.
Все как обычно, по стандартам. Разделяйте понятие компиляция, линковка(компоновка), т.к. за это отвечают разные программы.

Удачи.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Kdevelop + OpenSSL хедеры"  
Сообщение от NuINu (??) on 06-Июл-07, 14:20 

>>все равно приложение хедеры не видит.
>если бы не видело хедеров писало бы 'не найден файл ssl.h'

если компилятор видит хеадер, а путь к ним не стандартный, значит он видит, какой нибудь старый хеадер! находящийся по стандартному пути. Проверь к примеру путь /use/include
и наверняка найдешь там директорию openssl

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Kdevelop + OpenSSL хедеры"  
Сообщение от vic (??) on 06-Июл-07, 14:40 
>
>>>все равно приложение хедеры не видит.
>>если бы не видело хедеров писало бы 'не найден файл ssl.h'
>
>если компилятор видит хеадер, а путь к ним не стандартный, значит он
>видит, какой нибудь старый хеадер! находящийся по стандартному пути. Проверь к
>примеру путь /use/include
>и наверняка найдешь там директорию openssl

Хорошая мысль, хотя я вот у себя не нашел.
Но так тоже бывает - конфликт хедеров, поэтому и следует использовать pkg-config для получения правильных путей и опций. И ставить их в правильном порядке при сборке проекта.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Kdevelop + OpenSSL хедеры"  
Сообщение от geragray email(ok) on 06-Июл-07, 17:38 
Ура, все заработало. Итак все предположения оказались верными, действительно в прожект опшенс/конфигур нужно добавить две строчки для препроцессора -I/usr/local/ssl/include и для линковшика -lssl -lcrypto. Все спасибо за советы.

> Проверь к примеру путь /use/include и наверняка найдешь там директорию openssl
У меня там тоже было пусто


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру