2015-04-30 51 views
1

這非常煩人。我一直在努力解決這個問題...... 我已經用OpenSSL成功構建了libcurl,但是這段代碼一直返回false。我想我最後的選擇是找到一個預先構建的庫(DLL Release - DLL OpenSSL)。 編輯: 忘了補充說,我嘗試了所有我能找到的相關解決方案,而且都沒有工作。順便說一句,這是對VSLibcurl OpenSSL未找到

curl_version_info_data * vinfo = curl_version_info(CURLVERSION_NOW); 
if (vinfo->features & CURL_VERSION_SSL) 
    MessageBoxA(0, "Yes", 0, 0); 
else 
    MessageBoxA(0, "No", 0, 0); 
+0

你有沒有嘗試過使用cmake構建庫? –

+0

你應該告訴我們你如何構建它的細節,因爲這可能是問題所在。你可能沒有告訴libcurl的配置腳本在哪裏找到openssl,或者類似的東西。對於它的價值,你可能會考慮放棄Visual Studio,而是使用[MSYS2](http://msys2.github.io/)來做這件事。 MSYS2附帶包含libcurl的[curl包](https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-curl/PKGBUILD)。 –

+0

@Sergey不,我沒有嘗試過。 – user1304765

回答

1

在這裏,我一步一步的指示如何使用CMake和Visual Studio(所有版本)

先決條件OpenSSL建立Curl

  1. 已安裝Microsoft Visual Studio
  2. 已安裝CMake
  3. 構建並安裝OpenSSL開發庫按照描述here(在我的情況下,我已經在這裏安裝它C:\ WORK \ MSVC2013.64 \ openssl使用Perl配置 - 前綴= C:\ WORK \ MSVC2013.64 \ openssl ...)

步驟一步過程:

git clone https://github.com/bagder/curl.git 
cd curl 
mkdir b.msvc 
cd b.msvc 
cmake .. -G"Visual Studio 12 2013 Win64" -DOPENSSL_ROOT_DIR=C:\WORK\MSVC2013.64\openssl 

當CMake的運行,應確保OpenSSL的是發現

- 實測值OpenSSL的:C:/WORK/MSVC2013.64/openssl/lib/ssleay32的.lib; C:/ WORK/MSVC2013。 64/OpenSSL的/ lib目錄/ libeay32.lib(發現版 「1.0.2a」)

當所有無誤完成後,你會發現它可以在Visual Studio中打開,或只是建立解決方案文件CURL.sln它與命令

cmake --build . --config Release 

然後檢查,如果它與OpenSSL的建成啓用

C:\WORK\GitHub\curl\b.msvc\src\Release>curl.exe --version 
curl 7.42.0-DEV (Windows) libcurl/7.29.1-DEV OpenSSL/1.0.2a 
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smtp smtps telnet tftp 
Features: NTLM SSL 

另一件事 - 你可以提供以下選項CMake的

-DCMAKE_INSTALL_PREFIX = <路徑要在其中安裝捲曲/ libcurl中>

然後

cmake --build . --config Release --target INSTALL 

將安裝捲曲/ libcurl中所提供的位置

希望這有助於。

相關問題