如何构建自定义libcurl以仅支持HTTP / HTTPS协议

时间:2013-03-06 15:17:02

标签: c++ visual-c++ curl libcurl

我只使用libcurl来发出HTTP / HTTPS请求。我已经下载了源代码并构建为静态库。

我的最终可执行文件的大小有所增加。我试图削减我的可执行文件exe,因为我有其他限制。

在分析过程中,我观察到libcurl的构建支持许多协议,包括HTTP。但我的具体用途是HTTP / HTTPS。

有没有办法在构建libcurl时定义编译标志以禁用其他协议?

感谢您阅读帖子!!!

1 个答案:

答案 0 :(得分:7)

看看:http://curl.haxx.se/docs/install.html

    Disabling Specific Protocols in Win32 builds
   --------------------------------------------

   The configure utility, unfortunately, is not available for the Windows
   environment, therefore, you cannot use the various disable-protocol
   options of the configure utility on this platform.

   However, you can use the following defines to disable specific
   protocols:

   HTTP_ONLY             disables all protocols except HTTP
   CURL_DISABLE_FTP      disables FTP
   CURL_DISABLE_LDAP     disables LDAP
   CURL_DISABLE_TELNET   disables TELNET
   CURL_DISABLE_DICT     disables DICT
   CURL_DISABLE_FILE     disables FILE
   CURL_DISABLE_TFTP     disables TFTP
   CURL_DISABLE_HTTP     disables HTTP

   If you want to set any of these defines you have the following
   possibilities:

   - Modify lib/config-win32.h
   - Modify lib/curl_setup.h
   - Modify lib/Makefile.vc6
   - Add defines to Project/Settings/C/C++/General/Preprocessor Definitions
     in the vc6libcurl.dsw/vc6libcurl.dsp Visual C++ 6 IDE project.