DLL:在Windows版Linux上用MinGW编译C时,无法识别文件格式

我正在Linux(特别是Ubuntu)上使用MinGW来编译Windows的C程序.我正在使用一个名为SFML的库,它的绑定称为CSFML.我正在使用-L和-l来查找库,但是在编译时出现此错误

win32/dll/csfml-audio-2.dll: file not recognized: File format not recognised

我不知道为什么.这是我用来编译的命令:

sudo i686-w64-mingw32-gcc -o wandering src/main.c src/constants.c src/display/display.c **...some more c files in here...** src/Generation/perlinnoise.c $(pkg-config --libs --cflags glib-2.0) $(pkg-config --libs --cflags gee-1.0) -Iwin32/CSFML-2.1/include -Lwin32/dll -lcsfml-audio-

有人知道为什么会这样吗?我可以在没有SFML的情况下编译C程序,但是在MinGW的情况下可以…

解决方法:

DLL具有PE32可执行文件头.它不用于链接器.您应该改为使用导入库.该文件的扩展名为LIB.

我听说那里有一些gcc编译器版本,而不是动态从DLL生成导入库.看来您的版本没有.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...