未定义对“_setjmp”生成 SFML 的引用

undefined reference to `_setjmp' building SFML

提问人:elanilero 提问时间:8/7/2022 更新时间:8/7/2022 访问量:793

问:

我正在为MinGW构建SFML,如官方教程中所述。我正在使用 WinLibs 的最新 MinGW,用于 64x 系统。我完全按照 GitHub 的 SFML 2.6 编写了教程,但是当我运行“mingw32-make”进行构建时,在“构建 CXX 对象...”列表之后,我收到以下两个错误:

h:/winlibs_64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/jayok/Downloads/SFML-2.6.x/SFML-2.6.x/extlibs/libs-mingw/x64/libfreetype.a(sfnt.c.obj):sfnt.c:(.text+0x5614): undefined reference to `_setjmp'
h:/winlibs_64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/jayok/Downloads/SFML-2.6.x/SFML-2.6.x/extlibs/libs-mingw/x64/libfreetype.a(smooth.c.obj):smooth.c:(.text+0x77a): undefined reference to `_setjmp'
collect2.exe: error: ld returned 1 exit status
mingw32-make[2]: *** [src\SFML\Graphics\CMakeFiles\sfml-graphics.dir\build.make:602: lib/sfml-graphics-2.dll] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:307: src/SFML/Graphics/CMakeFiles/sfml-graphics.dir/all] Error 2
mingw32-make: *** [makefile:155: all] Error 2
C++ CMake SFML 未定义引用 构建

评论

0赞 meaning-matters 8/7/2022
setjmp()是 C 标准的一部分,但需要 .检查这些来源是否确实调用并使其不被某些人排除。编译器(更准确地说是链接器)命令不需要,但您可以尝试将其添加到makefile中。只是一些想法。#include <setjmp.h>setjmp()#ifdeflcLDFLAGS
0赞 elanilero 8/7/2022
检查每个源文件和相关包含的文件对我来说有点不切实际。关于最新的建议:你能解释一下怎么做吗?我不是很擅长制作文件。无论如何,官方教程导致这两个错误似乎很奇怪,我在互联网上的任何地方也找不到
0赞 meaning-matters 8/7/2022
您只需要检查导致错误的两个源文件:和 。您是否打开了 makefile 并查找 or ?sfnt.csmooth.cLDFLAGSCFLAGS

答: 暂无答案