Không có câu trả lời đơn giản :) Libcurl phụ thuộc vào libs của bên thứ ba khác (tùy thuộc vào phân phối nhị phân mà bạn đang sử dụng). Khi bạn loại bỏ DLL - bạn sẽ phải liên kết với các bên thứ ba tương ứng theo cách thủ công.
Ok, do đó, điểm đầu tiên là bạn không nên liên kết tới libcurl.lib vì nó liên kết bạn với DLL mà bạn không muốn.
Điểm thứ hai - khi bạn đang liên kết với libcurl_static.lib thì (như đã đề cập ở trên) bạn cũng sẽ có liên kết với thư viện tùy thuộc vào. Cách đơn giản để thực hiện điều đó là thực hiện một việc như sau:
#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
Nhưng theo cách này - bạn sẽ nhận được thêm ba phụ thuộc. Ngoài ra, bạn có thể tìm kiếm một cách để liên kết với chúng tĩnh, nhưng đó là một câu chuyện khác.
Như thay thế khác - bạn có thể xây dựng lại libcurl_static.lib từ các nguồn sau khi vô hiệu hóa tất cả các tính năng bạn không cần do đó loại bỏ sự phụ thuộc không mong muốn (như mô tả trong "Vô hiệu hóa giao thức cụ thể trong Win32 xây dựng" của INSTALL tập tin) .
Và điểm cuối cùng - vì libcurl có hỗ trợ khá kém cho việc biên dịch cửa sổ từ các nguồn, tôi khuyên bạn nên truy cập lại ý tưởng loại bỏ curllib.dll.