我正在开发使用libcurl的dll。将libcurl.dll
和libidn-11.dll
添加到依赖项后,我得到libcurl.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x308
。
PS:我正在使用MSVS 2010
PPS:我用mingw编译器成功编译了这个dll,没有遇到任何问题。
提前谢谢!
答案 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文件)