mingw-w64搜索libws2_32.dll而不是ws2_32.dll

时间:2016-01-25 22:10:25

标签: c windows dll mingw-w64

使用安装了MSYS2安装程序的mingw-w64版本4.9.1,我正在使用ws2_32.dll选项构建DLL并将其链接到-lws2_32。但是mingw-w64在该名称下找不到ws2_32.dll

*** Warning: linker path does not have real file for library -lws2_32.

如果我进入C:\Windows\system32 ws2_32.dll复制到libws2_32.dll,那么mingw-w64就可以找到它。然而,这似乎是一个糟糕的黑客。我试过-l:ws2_32,因为我读到“:”具有特殊含义,但没有区别。

如何告诉mingw-w64链接到名称不以lib开头的Windows DLL?

2 个答案:

答案 0 :(得分:1)

您没有链接到DLL本身,而是链接到定义dll导出的库(libws2_32.a),如果libws2_32.a存在,请检查MingW(\ lib)目录。

答案 1 :(得分:0)

您是否尝试过-l选项?

只是

gcc -LC:\Windows\system32 herpmytargetcodederp.c ws2_32.dll

输入gcc的项目是目标文件或库。 -l选项只是将常用内容链接起来更简单的常用方法。老屁很简洁。 -lm而不是输入-L/path/to/lib libmath.o

包含链接器使用-L查找它的路径,并按名称调用它。