我已经构建了一个dll,现在我想在Microsoft Visual Studio项目中使用这个dll。
g++ -O0 -Wall -c -fmessage-length=0 -osrc\MyLib.o ..\src\MyLib.cpp
g++ -shared -Wl,--out-implib=MyLib.lib -Wl,--output-def=MyLib.def -oMyLib.dll src\MyLib.o -lwsock32
当我在“gcc项目”中使用它时,dll工作正常。
我尝试了不同的方法来创建“.lib”和“.def”文件,并尝试通过以下不同的教程导入VS中的这些库。但VS没有找到dll中声明的方法......
我很感谢你的帮助。
答案 0 :(得分:3)
你听说过名字错误吗?除非从DLL导出的函数标记为extern“C”,否则它们的名称将以特定于编译器的方式被破坏。因此问题。
答案 1 :(得分:1)
如果您希望将dll与其他编译器一起使用,则可以使用以下选项:
答案 2 :(得分:0)
为了他人的利益。看一下 MinGW: Mixing Compilers 和Binary Compatible C++ Interfaces。 从上面可以清楚地看出,没有办法直接使用MS Visual Studio与MinGW构建的C ++ DLL接口。这种接口只能通过基于C的界面干净地“工作”。