使用安装了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?
答案 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
查找它的路径,并按名称调用它。