DSO отсутствует в командной строке (с CMake)

Я пытаюсь преобразовать проект c ++ из Windows в Debian, скомпилировав все заново с помощью Cmake.

Я не особо привык работать в Linux, но мне удалось все правильно установить.

Это ошибка:

/usr/bin/ld: ../shared/libshared.a(BigNumber.cpp.o): undefined reference to symbol 'BN_new@@OPENSSL_1.0.2d'

//usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2: error adding symbols: DSO missing from command line

На самом деле это кажется общим вопросом, но я не знаю, что делать с Cmake. Я уже видел несколько ответов, таких как:

DSO отсутствует в командной строке

Как мне сказать CMake связать в статической библиотеке в исходном каталоге?

Как добавить компоновщик или флаг компиляции в файл cmake?

Я немного растерялся, не могли бы вы помочь мне понять, что мне нужно делать с Cmake, пожалуйста?

Спасибо

3

Решение

Вы получаете сообщение об отсутствующей ссылке на функцию, которая была вызвана в BigNumber.cpp файл.

Что происходит то CMakeLists.txt скорее всего отсутствует библиотека в:

TARGET_LINK_LIBRARIES( youApp
library1
library2
)

PS: порядок, в котором вы вызываете библиотеки, также важен для правильной работы компоновщика.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]