Простого ответа не существует :) Libcurl зависит от сторонних библиотек (это зависит от используемого вами бинарного дистрибутива).Как только вы избавитесь от DLL - вам придется вручную связываться с соответствующими третьими сторонами.
Хорошо, поэтому первое, что вам не нужно делать, - не ссылаться на libcurl.lib , поскольку он связываетсяк DLL, которую вы не хотите.
Второй момент - когда вы связываетесь с libcurl_static.lib , тогда (как упоминалось выше) вам также придется связываться с библиотекамизависит от.Простой способ сделать это - сделать что-то вроде этого:
#if defined CURL_STATICLIB
#if defined _DEBUG
#pragma comment(lib, "libcurl-7.19.3-win32-ssl-msvc\\lib\\Debug\\curllib_static.lib")
#else
#pragma comment(lib, "libcurl-7.19.3-win32-ssl-msvc\\lib\\Release\\curllib_static.lib")
#endif
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "libcurl-7.19.3-win32-ssl-msvc\\libeay32.lib")
#pragma comment(lib, "libcurl-7.19.3-win32-ssl-msvc\\openldap.lib")
#pragma comment(lib, "libcurl-7.19.3-win32-ssl-msvc\\ssleay32.lib")
#endif
Но так - вы получите еще три зависимости.Кроме того, вы можете искать способ статической связи с ними, но это другая история.
В качестве другой альтернативы - вы можете перестроить libcurl_static.lib из источников после отключения всех функций.таким образом, вам не нужно удалять нежелательные зависимости (как описано в « Отключение определенных протоколов в сборках Win32 » файла INSTALL).
И последний момент - поскольку libcurl имеет довольно слабую поддержку для оконКомпиляция из источников, я бы порекомендовал вам вернуться к идее избавления от curllib.dll .