2014-01-16 41 views
3

试图拿起一个2D库,SFML是我的选择。编译器错误与Windows 8 sfml和代码块

但是,我不能让它正确链接。

当我尝试建立并运行它,我得到以下错误: 程序入口点GXX个性V0不能设在动态链接库sfml-graphics-d-2.dll

BTW IDE是代码:: Blocks的12.11和编译器是MinGW的(默认)

我已经提取的库c:\SFML-2.0

我已经设置了编译器编译器搜索目录,以C:\SFML-2.0\include 和链接:C:\SFML-2.0\lib

而且在我开始我已经在连接设置 - >链接库添加的项目:

Debug: 
sfml-graphics-d 
sfml-window-d 
sfml-system-d 

Release: 
sfml-graphics 
sfml-window 
sfml-system 

我也从C:\sfml-2.0\bin复制dll文件到该项目的位置。

我试过使用静态链接没有成功。 观看了一些sfml教程并跟着他们,Google搜索,但似乎没有为我工作。 也重新安装了代码:: blocks。

想法?

回答

2

您需要使用正确的SFML包。 gxx_personality_v0错误通常表示运行时库不匹配。如果你真的使用Code :: Blocks 12.11和他们自带的编译器,那么你将拥有TDM 4.7.1编译器,它使用SJLJ异常模型。因此,来自SFML download page的匹配编译器将是GCC 4.7 TDM (SJLJ) - 32 bits

请记住,有一个更新的版本(13.12),它使用更新版本的TDM,但SFML不提供二进制文件/预编译软件包,因此您必须自己构建SFML。 虽然TDM编译器易于安装,但我不会推荐它,因为它打破了使用GCC编译器的标准方式。相反,您可能需要查看Stephan T. Lavavej的构建版本nuwen.net或者使用MinGW Builds - 您必须重新编译SFML。

+0

非常感谢你:) – user3200828

+0

不客气!如果它解决了您的问题,如果您将该帖子标记为答案,这对其他人会有帮助。 :) – Lukas

0

如果仍然出现错误,我固定我的方式:

在编译器设置对话框: 在左侧的菜单中选择,确认全球编译器设置, 选择工具链的可执行文件选项卡, 选择附加路径选项卡和 按下添加按钮,找到SFML的bin文件夹(C:\ CodeBlocks \ sfml \ bin),并添加它而不保留相对路径。