在 GCC 中使用 SOIL.lib - 添加符号时出错:无法识别文件格式
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 文件没有任何抱怨。
似乎没有太多关于正在发生的事情的信息,我发现很多不同的人对不同的事情有同样的错误,但我一直无法弄清楚到底是哪里出了问题对于这个神秘的错误消息。有人可以帮忙吗?
*.lib:添加符号时出错:无法识别文件格式。
是由您的链接器引起的问题。这背后的原因是该库属于其他体系结构,而不是您想要的。
这意味着您正在使用 mingw64\bin\g++.exe 编译器(mingw64 架构)并且库 SOIL.lib 是为您的主机系统架构构建的(这显然不同于 mingw64 架构)。
如果你想编译它,你必须获得为 mingw64 构建的 SOIL.lib。
我最近一直在尝试将我的 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 文件没有任何抱怨。
似乎没有太多关于正在发生的事情的信息,我发现很多不同的人对不同的事情有同样的错误,但我一直无法弄清楚到底是哪里出了问题对于这个神秘的错误消息。有人可以帮忙吗?
*.lib:添加符号时出错:无法识别文件格式。
是由您的链接器引起的问题。这背后的原因是该库属于其他体系结构,而不是您想要的。
这意味着您正在使用 mingw64\bin\g++.exe 编译器(mingw64 架构)并且库 SOIL.lib 是为您的主机系统架构构建的(这显然不同于 mingw64 架构)。
如果你想编译它,你必须获得为 mingw64 构建的 SOIL.lib。