Как связать эту библиотеку libcurl статически с exe? я пытался
--disable-share --enable-static, который не помогает.
Я использую MingW32
Есть ли простой способ статически связать эту библиотеку, чтобы у меня не было больше.dll с моим приложением?
Если вы используете кодовые блоки, щелкните правой кнопкой мыши свой проект и нажмите свойства, а затем на вкладке "Определения" добавьте:
CURL_STATICLIB
при использовании командной строки:
-static -static-libgcc -static-libstdc++ -DCURL_STATICLIB -lcurl -lws2_32 -lwinmm
Вот как это сделать. но вы можете получить дополнительные ошибки. это нужно выяснить самостоятельно. Это просто руководство.
У вас должен быть два проекта в решении Visual Studio
Создайте libcurl как статическую Static Library (.lib)
щелкните правой кнопкой мыши libcurl project
в libcurl project
решений → свойства → свойства конфигурации → General-> измените configuration Type
на Static Library (.lib)
)
Затем щелкните правой кнопкой мыши ваш проект, чтобы перейти к свойствам → свойства конфигурации → Linker → general
В "дополнительных библиотечных каталогах" добавьте путь к выше curl.lib.
additional dependencies
.use of MFC
и use of ATL
для use MFC in static library
и соответственно use ATL in static library
.Вы должны использовать -static в вариантах компоновщика
_imp__curl_e asy_init' clns.c:(.text+0xb1d6): undefined reference to
_imp__curl_e asy_cleanup' clns .c :(. text + 0xb6bb): неопределенная ссылка на _imp__curl_e asy_cleanup' clns.c:(.text+0xbc71): undefined reference to
_imp__curl_e asy_cleanup' clns.c :(. text + 0xc3bc): неопределенная ссылка на __imp__cl '