我正在编写一个SFML游戏,当我尝试运行代码时,这是我得到的错误:
无法在动态链接库中找到过程入口点
_gxx_personality_v0
libstdc++-6.dll
我已正确链接到所有库,并且包含文件是正确的。我甚至尝试过将libstdc++-6.dll
放在我的exectable目录中,但仍然没有任何建议。
另一个答案是将MinGW/bin
目录放在PATH
环境变量中的任何其他目录之前,我也这样做了,但它仍然没有用。
注意:仅当我尝试使用SFML代码时才会出现此错误。当我发表评论时它会成功运行。
答案 0 :(得分:2)
好的,你添加的注释告诉我,SFML的东西是用另一个编译器版本/配置编译的,如果内存服务正确则更新。
您需要确保SFML
和您的代码由相同的编译器(版本/配置)或至少兼容的编译器(版本/配置)编译。
我看到SFML的最新二进制包使用GCC 4.7,最新的Code :: Blocks(mingw)附带了TDM GCC 4.7版本,所以它可能足以升级Code :: Blocks并确保你使用SFML GCC 4.7 TDM(SJLJ)包(当然也使用Code :: Blocks附带的gcc)。
否则,您可能应该手动安装TDM-GCC 4.7编译器版本,或者如果没有任何工作,请自行编译SFML。
答案 1 :(得分:1)
这只是一个PATH排序问题。
您很可能会在路径中加载多个libstdc ++ - 6.dll文件。您可以在命令提示符下运行where libstdc++-6.dll
进行检查。
您要做的是确保在其他所有内容之前加载MinGW bin文件夹。尝试将其移至全局PATH中的第一个。