2017-01-09 2 views
0

Сегодня утром я обновил версию OpenSSL до версии 1.0.1f при компиляции проекта, в котором я сейчас работаю, и получил эту ошибку OpenSSL от линкер:OpenSSL 1.0.1f и «неопределенная ссылка на символ« SSL_state @@ OPENSSL_1.0.0 »

/usr/bin/ld: janus-dtls.o: undefined reference to symbol '[email protected]@OPENSSL_1.0.0' //lib/x86_64-linux-gnu/libssl.so.1.0.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

я пошел, чтобы найти улики в Интернете и единственное, что я нашел то, что мне нужно, чтобы скомпилировать проект с -lssl и -lcrypto. Но дело в том, что я Allready сделать:

./Makefile:598:JANUS_LIBS = -pthread -L/usr/local/lib -lnice -lgthread-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -ljansson -lssl -lcrypto -lsofia-sip-ua

Так я догадался, я буду просить DPKG возможно i'am что-то забывая. Вот ответ:

$ pkg-config --libs openssl

-L/usr/local/lib -lssl -lcrypto 

Какой именно то, что я делаю.

Неужели кто-то уже столкнулся с этой ошибкой и сработал, чтобы исправить это?

Или, может быть, я что-то делаю неправильно, я не вижу?

Любая помощь будет высоко оценена.

+0

Не размещайте изображения текста! – Olaf

+0

Также см. [Ошибка связи с сеткой: отсутствует DSO в командной строке] (http://stackoverflow.com/q/19901934), [DSO отсутствует в командной строке] (http://stackoverflow.com/q/24096807) и [Ошибка связи: отсутствует DSO из командной строки] (http://stackoverflow.com/q/24989432). – jww

+0

Благодарим вас за связь. –

ответ

0

Запросы с символами сделаны ПЕРЕД СОЗДАНИЕМ, поэтому порядок библиотек является строгим.

Если Lība имеет символ, который LibB нужен заказ будет

НКУ mod1.o mod2.o -lLibA -lLibB

Дважды проверьте, что все библиотеки в Makefile не хватает.

Смежные вопросы