我的目的:CMake的错误:找不到OpenSSL的
我想配置Mosquitto经纪人使用WebSockets。
警告和错误:
https://docs.google.com/document/d/1HJ75NO1wBsnNfFFszeXP4p8re7m4gTE_CMbFoSswJJs/edit?usp=sharing
软件:
- 的Windows 10的x64
- libwebsockets-master
- 的CMake 3.6.2的Win32
- OpenSSL的1.1.0a
- 的Visual Studio 2015年14(与C++编译器)
我已经试过什么:
我使用的CMake GUI原因我不是很熟悉命令。余配置源和目标和设置下列变量作为路径和文件路径分别为:
- OPENSSL_ROOT_DIR = OpenSSL的-的Win32
- OPENSSL_LIBRARIES = OpenSSL的-的Win32/lib中或的OpenSSL的Win32/LIB/OpenSSL的的.lib
- OPENSSL_CONF = BIN \ openssl.cfg
- OPENSSL_INCLUDE_DIR = OpenSSL的-的Win32 /包含/ OpenSSL的
我试着在libwesocket的CMkakeLists.txt文件中设置OPENSSL_LIBRARIES。我使用了多个不同版本的CMake和OpenSSL。我试图用VS命令行打开CMake(作为管理员)。
我以前建立了一个.sln文件,它带有较旧的过时的OpenSSL,所以编译器没有问题。
我看过问题here,here,here和here。如果它归结为使用命令行专门设置OPENSSL_ROOT_DIR,请问有人可以点亮一下吗?
请不要使用CMake for OpenSSL。它无法处理图书馆。该库不会被配置,您将缺少关键定义。 CMake似乎无法获得库存标志的'CFLAGS'权限。它没有办法为OpenSSL做好准备。相反,请遵循根目录OpenSSL中的***'NOTES.WIN' ***。 – jww
相关的,这是OS X上的胖库:[OS X上的Build Multiarch OpenSSL](http://stackoverflow.com/q/25530429)。我意识到OS X不是Windows和CMake,但它会详细说明你将遇到的问题。你必须正确地得到你的文件列表,甚至汇编程序的标志也是正确的。你也必须把所有的东西都放到''和''中。 –
jww