c++ - Windows 8 sfml 和代码块的编译器错误

标签 c++

尝试选择一个二维库,SFML 是我的选择。

但是,我无法正确链接它。

当我尝试构建并运行它时,出现以下错误: 程序入口点 gxx personality v0 无法位于动态链接库 sfml-graphics-d-2.dll

顺便说一句,IDE 是 Code::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 教程并按照它们进行了搜索,但似乎对我没有任何帮助。 还重新安装了 code::blocks。

想法?

最佳答案

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

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

关于c++ - Windows 8 sfml 和代码块的编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21152699/

相关文章:

c++ - 无法获取模板函数的函数指针 - templateception

c++ - 在实例化派生类时指定基类模板参数?

c++ - 两个相同的(网络)调用。如何等待最快,丢弃最慢?

c++ - 在不使用 libcurl 的情况下读取网页并存储在字符串中。 (C++)

c++ - 初级 C++ 输入行为

c++ - 循环内奇怪的内存泄漏

c# - Swig csclassmodifiers 不适用于 C 函数的模块类

c++ - 这不是在 C++ 中使用 bool 运算符吗?

c++ - 使用 '?' 而不是 L' 有什么缺点吗?用wchar_t?

c++ - 将 cout 重定向到文件与直接在 linux 中写入文件