我的目的: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