gcc 使用mingW32编译sfml时出错

vmjh9lq9  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(248)

我尝试安装sfml并使用mingW运行它。这是我第一次使用它,所以我遵循教程(https://www.youtube.com/watch?v=Ljhpsdz8Ouo)。我一步一步地遵循它,直到最后,他编译了一个测试脚本来检查它是否工作,他的工作,我的不工作。
我不知道为什么,但这似乎是一个路径的问题,因为输出说它找不到一些文件。

g++ -Isrc/include -c main.cpp
g++ main.o -o main -Lsrc/lib -lsfml-graphics -lsfml-window -lsfml-system
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib/libsfml-graphics.a when searching for -lsfml-graphicsC:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib\libsfml-graphics.a when searching for -lsfml-graphicsC:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib/libsfml-graphics.a when searching for -lsfml-graphicsC:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsfml-graphics: No such file or directory
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib/libsfml-graphics.a when searching for -lsfml-graphicsC:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib/libsfml-window.a when searching for -lsfml-window    
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib\libsfml-window.a when searching for -lsfml-window    
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib/libsfml-window.a when searching for -lsfml-window
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsfml-window: No such file or directory
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib/libsfml-window.a when searching for -lsfml-window    
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib/libsfml-system.a when searching for -lsfml-system
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib\libsfml-system.a when searching for -lsfml-system    
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib/libsfml-system.a when searching for -lsfml-system
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsfml-system: No such file or directory
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible src/lib/libsfml-system.a when searching for -lsfml-system
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:7: link] Error 1

这些是我的文件

我的生成文件:

all: compile link

compile:
    g++ -Isrc/include -c main.cpp

link:
    g++ main.o -o main -L src/lib -lsfml-graphics -lsfml-window -lsfml-system

我尝试运行的脚本是文档中的测试脚本。注意,这是我第一次使用Makefile,但main. o文件创建正确。
我希望有人能帮助我,这可能是由于安装错误。谢谢你的时间。

2vuwiymt

2vuwiymt1#

根据我的经验,这可能是由于使用了不正确的编译器,在SFML网站上它指出:

如果您下载了这些编译器并将它们添加到路径变量中(小心地删除可能已经存在的内容以避免冲突),我敢打赌您将继续前进。
我还建议使用CMake,因为它使整个“makefile”过程更容易。这是一个额外的步骤,但在将来它会很好地为您的项目扩展服务。我已经写了一个关于这个主题的教程here,如果你想看看在实践中可能会看起来如何。祝你好运,希望这对你有所帮助!

相关问题