Как собрать 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
- Қар. 11, 2024, 10:58 Т.Қ.
C++ - Тест 004. Указатели, Массивы и Циклы
- Нәтиже:50ұпай,
- Бағалау ұпайлары-4
- molni99
- Қаз. 26, 2024, 8:37 Т.Ж.
C++ - Тест 004. Указатели, Массивы и Циклы
- Нәтиже:80ұпай,
- Бағалау ұпайлары4
- molni99
- Қаз. 26, 2024, 8:29 Т.Ж.
C++ - Тест 004. Указатели, Массивы и Циклы
- Нәтиже:20ұпай,
- Бағалау ұпайлары-10
Добрый день!
Не знаю, что у вас там конкретно с curl, но проблема с openssl, в том, что у вас по ходу динамические объектные библиотеки все-таки. Имел такую проблему с openssl либами, пока не нашёл именно статические библиотеки, после этого нормально скомпилировалось и не требовало dll библиотеки.
Да, действительно, пересобрал со статическими библиотеками и на другой машине запустилось без dll
В итоге для сборки curl + openssl использовал следующие зависимости: