链接到 SFML dll 的程序无法启动,returns 0xC000007B 或丢失 __gxx_personality_v0
program linked to SFML dlls wont start, returns 0xC000007B or missing __gxx_personality_v0
我试图从 SFML 页面编译示例
http://www.sfml-dev.org/tutorials/2.3/start-cb.php (at the bottom)
我下载了 GCC 4.9.2 DW2 版本,设置了所需的一切(link呃,目录)并且编译没有错误。
当应用程序启动时,它说它需要 .dll 文件,所以我从 SFML/bin 目录复制了它们。
然后它说 the procedure entry point __gxx_personality_v0 could not be located in the dynamic link library libstdc++-6.dll
(libstdc++-6 是从 MinGW/bin 复制的)
或 the pro... _ZSt24__throw_out_of_range_fmtPKcz
在同一个 dll
在 SFML 页面上有一条注释:
There are multiple variants of GCC for Windows, which are incompatible with each other (different exception management, threading model, etc.). Make sure you select the package which corresponds to the version that you use. If you are unsure, check which of the libgcc_s_sjlj-1.dll or libgcc_s_dw2-1.dll files is present in your MinGW/bin folder. If MinGW was installed along with Code::Blocks, you probably have an SJLJ version.
If you feel like your version of GCC can't work with the precompiled SFML libraries, don't hesitate to build SFML yourself, it's not complicated.
我尝试用 DevC++ 和 Code::Blocks 中的 dw2 和 sjlj SFML 版本编译它 linked
导致上面的错误。
我的编译器安装文件夹中有两个 dll。我的 IDE 有问题吗?我厌倦了猜测新的 IDE/compiler<->SFML_version 组合
后来我尝试使用 cmake 自己构建 SFML - 使用这些 dll 启动 .exe 时出现错误 0xC000007B。
我已经尝试 link 它静态地,我在 linker 中以正确的顺序添加了所需的库但是它 returns undefined reference to ...
很多次(在两个 IDE 中).
我只是想制作程序运行,几天前我使用SDL库编译了其他示例,没有任何问题,它运行非常完美。
SFML 的所有尝试都是 32 位的,编译器也一样
由于 C++ ABI 不兼容,SFML 库必须使用与构建应用程序时使用的完全相同的编译器构建。
如果不使用this MinGW compiler,则需要自行重建SFML。
我试图从 SFML 页面编译示例 http://www.sfml-dev.org/tutorials/2.3/start-cb.php (at the bottom)
我下载了 GCC 4.9.2 DW2 版本,设置了所需的一切(link呃,目录)并且编译没有错误。
当应用程序启动时,它说它需要 .dll 文件,所以我从 SFML/bin 目录复制了它们。
然后它说 the procedure entry point __gxx_personality_v0 could not be located in the dynamic link library libstdc++-6.dll
(libstdc++-6 是从 MinGW/bin 复制的)
或 the pro... _ZSt24__throw_out_of_range_fmtPKcz
在同一个 dll
在 SFML 页面上有一条注释:
There are multiple variants of GCC for Windows, which are incompatible with each other (different exception management, threading model, etc.). Make sure you select the package which corresponds to the version that you use. If you are unsure, check which of the libgcc_s_sjlj-1.dll or libgcc_s_dw2-1.dll files is present in your MinGW/bin folder. If MinGW was installed along with Code::Blocks, you probably have an SJLJ version. If you feel like your version of GCC can't work with the precompiled SFML libraries, don't hesitate to build SFML yourself, it's not complicated.
我尝试用 DevC++ 和 Code::Blocks 中的 dw2 和 sjlj SFML 版本编译它 linked 导致上面的错误。 我的编译器安装文件夹中有两个 dll。我的 IDE 有问题吗?我厌倦了猜测新的 IDE/compiler<->SFML_version 组合
后来我尝试使用 cmake 自己构建 SFML - 使用这些 dll 启动 .exe 时出现错误 0xC000007B。
我已经尝试 link 它静态地,我在 linker 中以正确的顺序添加了所需的库但是它 returns undefined reference to ...
很多次(在两个 IDE 中).
我只是想制作程序运行,几天前我使用SDL库编译了其他示例,没有任何问题,它运行非常完美。
SFML 的所有尝试都是 32 位的,编译器也一样
由于 C++ ABI 不兼容,SFML 库必须使用与构建应用程序时使用的完全相同的编译器构建。
如果不使用this MinGW compiler,则需要自行重建SFML。