为什么我为这个简单的C ++代码收到过程入口点错误?

时间:2014-06-13 18:50:22

标签: c++ mingw codeblocks sfml

我正在编写一个SFML游戏,当我尝试运行代码时,这是我得到的错误:

  

无法在动态链接库中找到过程入口点_gxx_personality_v0 libstdc++-6.dll

我已正确链接到所有库,并且包含文件是正确的。我甚至尝试过将libstdc++-6.dll放在我的exectable目录中,但仍然没有任何建议。

另一个答案是将MinGW/bin目录放在PATH环境变量中的任何其他目录之前,我也这样做了,但它仍然没有用。

注意:仅当我尝试使用SFML代码时才会出现此错误。当我发表评论时它会成功运行。

2 个答案:

答案 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中的第一个。

相关问题