Visual C ++:使用libcurl创建一个dll

时间:2012-01-22 13:19:01

标签: c++ visual-studio visual-studio-2010 dll libcurl

我正在开发使用libcurl的dll。将libcurl.dlllibidn-11.dll添加到依赖项后,我得到libcurl.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x308

PS:我正在使用MSVS 2010

PPS:我用mingw编译器成功编译了这个dll,没有遇到任何问题。

提前谢谢!

2 个答案:

答案 0 :(得分:7)

libcurl.lib是否有libcurl.dll?您打算与lib文件关联,而不是直接与dll关联。

答案 1 :(得分:3)

在Windows世界中,通常通过一个小的静态库(.lib)存根来访问动态库。

在VS中,您将链接到.lib文件,该文件包含在运行时加载dll所需的代码。

您无法直接链接到.dll。

如果你已经习惯了Linux,这可能看起来有点尴尬,但就是这样。

那么,你的curl库有这样的.lib文件吗?如果是这样,请与此相关联。如果没有,使用VS项目中的curl将会更加有效。 (但是一个选项可能只是用VS构建curl,它会给你.dll和.lib文件)