我已经使用nt.mak和无共享标志在windows上构建了openssl来创建静态库。我手动创建的所有VC++项目都与静态openssl库链接在一起,一切都很正常。
最近,我尝试使用CMake来生成VC++项目文件。编译和链接工作正常。但当我尝试运行.exe时,它开始查找openssl dll,但失败了。
链接指令在源代码中,如下所示:
#pragma comment(lib, "libeay32.lib")
#pragma comment(lib, "ssleay32.lib")我已经尝试将CMake生成的项目文件与手动创建的项目文件进行了比较,但我看不到会更改此行为的标志。
手动创建的项目使用openssl静态油墨,CMake生成的项目动态链接使用openssl。如何让CMake工程文件静态链接openssl?
发布于 2015-05-29 16:01:24
解决了。原来这是lib目录的顺序。一旦我确保openssl静态库首先在libpath中,这个问题就消失了。依赖的库有它们自己的openssl库,这影响了我的构建。
https://stackoverflow.com/questions/30515890
复制相似问题