我使用nt.mak和no-shared标志在windows上构建了openssl来创建静态库。我所有手动创建的VC ++项目都与静态openssl库链接,一切正常。
最近我正在尝试使用CMake生成VC ++项目文件。编译和链接工作正常。但是当我尝试运行.exe时,它开始寻找openssl dll并失败。
链接指令在源代码中,如下所示:
#pragma comment(lib, "libeay32.lib")
#pragma comment(lib, "ssleay32.lib")
我尝试将CMake生成的项目文件与手动创建的项目文件进行比较,我无法看到会改变此行为的标志。
手动创建的项目使用openssl静态打印,CMake使用openssl动态生成项目链接。如何使用openssl静态创建CMake项目文件链接?
答案 0 :(得分:0)
解决。原来它是lib目录的顺序。一旦我确保openssl静态库首先在libpath中,问题就消失了。依赖库有自己的openssl库,干扰我的构建。