所以今天早上我将我的MinGW编译器升级到4.7.1(我认为是4.4.1),并且此后一直试图让旧项目再次正常构建和运行。我的努力遇到了障碍,但是现在,每当我尝试编译使用SFML库的项目时,我都会收到以下错误:
无法在动态链接库libstdc ++ - 6.dll
中找到过程入口点__gxx_personality_v0现在我知道这个问题has been discussed before,但不幸的是,定义void *__gxx_personality_v0;
的提议hacky-fix对我没有任何好处,我已经检查过我是否偶然使用了GCC,但CodeBlocks将C ++编译器设置为MinGW的G ++,而不是GCC(在Settings-> Compiler-> Toolchain Executables-> Program Files下,我有mingw32-g++.exe
作为C ++编译器)。所以这似乎不是问题。
我试图编译的程序完全是example from the SFML website:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
目前我尝试运行的每个SFML项目都会出现此问题,但是小的非SFML项目似乎运行良好。
我可以尝试一下来解决这个问题吗?
答案 0 :(得分:0)
这需要更多信息,但让我试着猜测一下。是否有可能以某种方式,您仍然链接libstdc++-6.dll
文件的旧版本(或其他版本)?
你的EXE旁边有dll吗?您是否尝试过使用您正在使用的编译器提供的版本?在那种情况下,其中libstdc ++ - 6.dll文件位于bin目录下的MinGW。