c ++运行时没有.dll文件的HTTP请求

时间:2013-09-27 02:31:08

标签: c++

像curl这样的库要求你在运行.exe

时拥有.dll文件

理论上,您应该能够将.dll静态链接到.exe

但是如果没有错误和崩溃,我找不到办法做到这一点。

但是有些库在运行时不需要外部.dll文件吗? 那允许我做一个HTTP请求吗?

2 个答案:

答案 0 :(得分:1)

  

像curl这样的库要求你在运行.exe时拥有.dll文件   从理论上讲,您应该能够将.dll静态链接到.exe

不,你不能。它们是动态链接库。 DLL无法静态链接。如果供应商还提供静态.lib文件,则可以链接DLL的而不是。这不是一回事。

  

但是如果没有错误和崩溃,我找不到办法做到这一点。

没有出现,因为没有。

  

但是有些库在运行时不需要外部.dll文件吗?那允许我做一个HTTP请求吗?

非常可能,但为什么?您对DLL的反对意见是什么?

答案 1 :(得分:1)

根据我的经验,您链接的.lib不是dll的实现,它只包含dll上的一些元信息。

如果您尝试将.dll转换为.lib,这可能有所帮助(但这很令人生畏):

http://adrianhenke.wordpress.com/2008/12/05/create-lib-file-from-dll/

如果一切都失败了,你应该考虑自己编译libcurl的静态版本

http://fluxxu.com/2010/12/08/building-static-libcurl-with-ssl-support-on-windows/(注意:在您的应用中导出CURL_STATICLIB)

Building libcurl with SSL support on Windows