2015-04-30 2 views
1

Это очень раздражает. Я пытался решить это в течение нескольких недель ... Я успешно создал libcurl с OpenSSL, но этот кусок кода продолжает возвращать 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

Вы должны, вероятно, рассказать нам о том, как вы его построили, поскольку это, вероятно, проблема. Вероятно, вы не сказали сценарию confcure libcurl, где можно найти openssl или что-то в этом роде. Для чего это стоит, вы можете подумать о переходе от Visual Studio и вместо этого использовать [MSYS2] (http://msys2.github.io/) для этого материала. MSYS2 поставляется с пакетом [curl package] (https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-curl/PKGBUILD), который включает libcurl. –

+0

@ Серджи Нет, я этого не пробовал. – user1304765

ответ

1

Вот мой шаг за шагом инструкции, как построить Curl с OpenSSL использованием CMake и Visual Studio (любая версия)

Предпосылки:

  1. Установленная Microsoft Visual Studio
  2. Установленный CMake
  3. Сборка и установка OpenSSL development lib raries, как описано here (в моем случае, я установил его здесь C: \ WORK \ MSVC2013.64 \ OpenSSL с помощью PERL Настройка prefix = 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:/РАБОТА/MSVC2013. 64/OpenSSL/Библиотека/libeay32.lib (найдено версия «1.0.2a»)

Когда все сделано без ошибок, вы найдете решение файл CURL.sln, который можно открыть в Visual Studio или просто построить он с командой

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 в предусмотренное место

Надеется, что это помогает.

Смежные вопросы