我最近一直在尝试将我的Visual Studio OpenGL项目转移到VS代码中,在Windows10上使用了名为mingw x64的GCC。我一直在稳步地解决这一切,因为我对c++编程相当陌生,而且我遇到了一个我无法解决的错误。
使用以下命令构建时:
C:\Lib\mingw-w64\mingw64\bin\g++.exe -LC:/Lib/lib -IC:/Lib/include -g main.cpp -lglew32 -lglfw3 -lSOIL -lopengl32 -o build.exe我一直收到这样的错误:
C:/Lib/lib/SOIL.lib: error adding symbols: File format not recognized
collect2.exe: error: ld returned 1 exit status我正在使用的SOIL.lib在Visual Studio上工作得很好,而对于我正在使用的其他.lib文件,GCC似乎也没有什么意见。
似乎没有太多关于发生了什么的信息,我发现一群不同的人在不同的事情上有相同的错误,我还不能找出这个神秘的错误消息到底出了什么问题。有人能帮上忙吗?
发布于 2020-09-10 23:13:18
*.lib:添加符号时出错:无法识别文件格式。
是由你的链接器引起的问题。这背后的原因是这个库属于其他架构,而不是你想要的。
这意味着您使用的是mingw64\bin\g++.exe编译器( mingw64体系结构),而库SOIL.lib是为您的主机系统体系结构构建的(这与mingw64体系结构明显不同)。
如果你想编译这段代码,你必须获得为mingw64构建的SOIL.lib。
https://stackoverflow.com/questions/61646912
复制相似问题