命令行缺少DSO(使用CMake)

Rik*_*kky 6 c++ linux cmake libcrypto

我试图通过使用Cmake再次编译所有内容,将Windows的C ++项目转换为Debian。

我不是很习惯在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
Run Code Online (Sandbox Code Playgroud)

这实际上似乎是一个常见问题,但我不知道如何处理Cmake。我已经看到了一些答案,例如:

命令行缺少DSO

如何告诉CMake链接源目录中的静态库?

如何在cmake文件中添加链接器或编译标志?

我有点困惑,您能帮我了解我需要使用Cmake吗?

谢谢

MSI*_*SIS 1

您收到的错误是关于文件中调用的函数缺少链接BigNumber.cpp

正在发生的事情CMakeLists.txt很可能缺少以下位置的库:

TARGET_LINK_LIBRARIES( youApp
  library1
  library2
)
Run Code Online (Sandbox Code Playgroud)

PS:调用库的顺序对于使链接器正常工作也很重要。