Как собрать curl + openssl без зависимостей ?
openssl, curl, static link, runtime
Всем привет, хочу собрать статическую библиотеку curl + openssl без зависимостей, Что я сделал:
- Скачал исходники curl, открыл проект в visual studio VC15/curl-all.sln
- Выбрал в конфигурации решений "Libs release - lib Openssl"
- Настроил проект, добавил пути к заголовочным файлам - C:\OpenSSL-Win64\include, установил путь к библиотекам C:\OpenSSL-Win64\lib и в разделе Компоновщик - добавил зависимости:
ws2_32.lib
wldap32.lib
openssl.lib
libssl.lib
libcrypto.lib
Проект собрался без ошибок, на выходи получил libcurl.lib
Создал простое консольное приложение:
#include <iostream> #include <stdio.h> #define CURL_STATICLIB #include "curl/curl.h" #pragma comment(lib, "curl/libcurl.lib") int main() { curl_global_init(CURL_GLOBAL_DEFAULT); CURL *curl = curl_easy_init(); if (curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "https://www.google.com/"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, true); curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2L); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } curl_global_cleanup(); system("pause"); }
На моей машине все работает отлично, а на другой где нет ssl, не закусается, требует два dll - libcrypto-1_1-x64, libssl-1_1-x64
Как мне собрать без зависимостей ? на выходе должен выйти один исполняемый файл.
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
- Akiv Doros
- 12 листопада 2024 р. 01:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50бали,
- Рейтинг балів-4
- molni99
- 26 жовтня 2024 р. 11:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
- molni99
- 26 жовтня 2024 р. 11:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20бали,
- Рейтинг балів-10
Добрый день!
Не знаю, что у вас там конкретно с curl, но проблема с openssl, в том, что у вас по ходу динамические объектные библиотеки все-таки. Имел такую проблему с openssl либами, пока не нашёл именно статические библиотеки, после этого нормально скомпилировалось и не требовало dll библиотеки.
Да, действительно, пересобрал со статическими библиотеками и на другой машине запустилось без dll
В итоге для сборки curl + openssl использовал следующие зависимости: