Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使CMake生成的项目与openssl静态链接?_Openssl_Cmake - Fatal编程技术网

如何使CMake生成的项目与openssl静态链接?

如何使CMake生成的项目与openssl静态链接?,openssl,cmake,Openssl,Cmake,我已经在windows上使用nt.mak构建了openssl,并且没有创建静态库的共享标志。我所有手动创建的VC++项目都与静态openssl库链接,一切正常 最近我尝试使用CMake生成VC++项目文件。编辑和链接工作很好。但是当我尝试运行.exe时,它开始查找openssl DLL,但失败了 链接指令位于源代码中,如下所示: #pragma comment(lib, "libeay32.lib") #pragma comment(lib, "ssleay32.lib") 我已尝试将CMak

我已经在windows上使用nt.mak构建了openssl,并且没有创建静态库的共享标志。我所有手动创建的VC++项目都与静态openssl库链接,一切正常

最近我尝试使用CMake生成VC++项目文件。编辑和链接工作很好。但是当我尝试运行.exe时,它开始查找openssl DLL,但失败了

链接指令位于源代码中,如下所示:

#pragma comment(lib, "libeay32.lib")
#pragma comment(lib, "ssleay32.lib")
我已尝试将CMake生成的项目文件与手动创建的项目文件进行比较,但看不到将更改此行为的标志


手动创建的项目使用openssl静态链接,CMake使用openssl动态生成项目链接。如何使用openssl使CMake项目文件静态链接?

已解决。原来是lib目录的顺序。一旦我确保openssl静态库首先位于libpath中,问题就消失了。依赖库有自己的openssl LIB,这干扰了我的构建。

您能分享更多信息吗?尤其是链接到openssl的代码。是否尝试设置CMAKE_EXE_LINKER_FLAGS变量?