【发布时间】:2016-09-26 07:17:36
【问题描述】:
我的目标:
我正在尝试将 Mosquitto 代理配置为使用 websocket。
警告和错误:
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 14 2015(带有 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/include/openssl
我也尝试在 libwesocket 的 CMkakeLists.txt 文件中设置 OPENSSL_LIBRARIES。我使用了多个不同版本的 CMake 和 OpenSSL。我尝试使用 VS 命令行(以管理员身份)打开 CMake。
我之前使用过时的 OpenSSL 构建了一个 .sln 文件,因此编译器没有问题。
我查看了here、here、here 和here 的问题。如果归结为使用命令行专门设置 OPENSSL_ROOT_DIR,有人可以对此有所了解吗?
【问题讨论】:
-
不要不要将 CMake 用于 OpenSSL。它无法处理库。该库将不会配置,您将缺少关键定义。 CMake 似乎无法将
CFLAGS用于股票标志。没有办法让它适合 OpenSSL。相反,请遵循 OpenSSL 根目录中的NOTES.WIN。 -
相关,这是 OS X 上的胖库中的内容:Build Multiarch OpenSSL on OS X。我意识到 OS X 不是 Windows 和 CMake,但它详细介绍了您将遇到的问题。你必须让你的文件列表正确,甚至汇编程序标志也正确。你还必须把所有的东西都放进
<openssl/opensslconf.h>和<openssl/bn.h>。
标签: openssl cmake-gui libwebsockets