간단한 대답은 없습니다. 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
하지만이 방법을 사용하면 더 많은 3 가지 종속성을 얻을 수 있습니다. 또는 정적으로 연결하는 방법을 검색 할 수도 있지만 다른 이야기입니다. 또 다른 대안으로
- 당신은 당신이 이렇게 원치 않는 종속성을 제거하지 않아도 모든 기능을 비활성화 한 후에 소스에서 libcurl_static.lib
를 다시 수 (에 설명 된대로 파일 INSTALL의 "이는 Win32에서 특정 프로토콜을 비활성화하면 구축") . 마지막으로 libcurl은 원본에서 Windows 컴파일에 대한 지원이 상당히 부족하므로 curllib.dll을 없애는 아이디어를 다시 읽어 보시기 바랍니다.