1

遵循教程时,我收到以下错误:未定义引用 '__unwind_resume' 和未定义引用 '__gxx_personality_v0'

产生这些未定义参考错误的文件是 libboost_system-mgw47-mt-1_51.a。我已经尝试了以下修复无济于事:

  1. 强制 Code::blocks 使用 g++ 而不是 gcc。结果:没有变化

  2. 将-lstdc++ 添加到链接器链接到的库列表中。结果:除了 __unwind_resume 和 __gxx_personality_v0 未定义的参考错误之外,还有 39 个错误。 图像1

  3. 安装最新的 MingW 并指向我的编译器使用它而不是它自己的版本结果:编译器错误现在超过最大值:( image2 http://s24.postimage.org/3u6tik4dh/moreerrors2.jpg

感谢您对解决这些错误的任何帮助,我真的很想让这件事正常工作。

4

1 回答 1

2

我找到了解决方案的一部分,我让编译器创建一个可执行文件,但它当前抛出 OGRE::filenotfoundexception 并终止。我通过下载 boost_1_53_0 并构建 libboost_system-mgw47-mt-1-53.a 并链接到它而不是另一个来做到这一点,然后它在启动时给了我错误“程序入口点 __gxx_personality_v0 无法位于动态链接库 libstdc++-6.dll。” 因此,为了解决这个问题,我去了 orwell 的 mingw 文件夹,发现该文件夹中的 libstdc++-6.dll 大小约为 800 KB,而使用的一个代码块是 5 mb,我将它们切换出来看看它是否有效并且得到了可执行文件现在正在运行,但它抛出所述异常并终止。

EDIT1:奇怪的是,只需添加一个名为 resources.cfg 的空白文件(导致异常的文件)即可导致程序运行,但现在出现一个 Ogre 窗口,要求提供渲染系统

EDIT2:在意识到我应该将所有内容从 ogre 的 bin/release 目录复制到我的可执行文件目录(以及将媒体目录复制到我的可执行文件目录中的 2 个文件夹)之后,我做到了,一切终于完美运行!

于 2013-03-04T10:28:16.360 回答