提问人:theParanoidAndroid 提问时间:5/7/2020 更新时间:11/18/2021 访问量:8313
将 SOIL.lib 与 GCC 一起使用 - 添加符号时出错:无法识别文件格式
Using SOIL.lib with GCC - Error adding symbols: File format not recognised
问:
我最近一直在尝试将我的 Visual Studio OpenGL 项目转移到 VS Code,在 Windows 10 上通过 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 中运行良好,GCC 似乎对我使用的其他 .lib 文件没有任何抱怨。
关于正在发生的事情似乎没有太多信息,我发现一群不同的人对不同的事情有相同的错误,而且我无法弄清楚这个神秘的错误消息到底出了什么问题。谁能帮忙?
答:
5赞
Shree Chougule
9/10/2020
#1
*.lib:添加符号时出错:无法识别文件格式。
是由您的链接器引起的问题。这背后的原因是该库属于其他架构,而不是您的预期。
这意味着您使用的是mingw64\bin\g++.exe编译器(mingw64架构),并且库SOIL.lib是为您的主机系统架构构建的(这显然与mingw64架构不同)。
如果你想编译它,你必须获取为 mingw64 构建的 SOIL.lib。
评论