Я пытаюсь преобразовать проект 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, пожалуйста?
Спасибо
Вы получаете сообщение об отсутствующей ссылке на функцию, которая была вызвана в BigNumber.cpp
файл.
Что происходит то CMakeLists.txt
скорее всего отсутствует библиотека в:
TARGET_LINK_LIBRARIES( youApp
library1
library2
)
PS: порядок, в котором вы вызываете библиотеки, также важен для правильной работы компоновщика.
Других решений пока нет …