0

好的,所以我一直在关注教程。

我按照说明设置了所有内容(仔细检查了所有内容),我唯一更改的是(第 10 步),从

${OGRE_HOME}\boost_1_44

${OGRE_HOME}\boost

因为在我的 Ogre SDK 版本(1.81)中,没有 boost_1_44 文件夹,只有 boost 文件夹。

无论如何,正如我所说,当我尝试编译我的程序时,我得到了这三个错误:

undefined reference to boost::system::generic_category() 
undefined reference to boost::system::generic_category() 
undefined reference to boost::system::system_category() 

我尝试将这个:-lboost_system 添加到我的项目中。我去了 Properties > C/C++ Build > Settings > GCC C++ Compiler > Miscellaneous 并将其添加到现有标志中,但没有运气。

我用谷歌搜索,显然这是唯一可能的解决方案。所以,我问你,如果有人可以解释我(请尽可能简单,一步一步)如何修复这个编译器错误。

编辑:我使用 MinGW 作为编译器(我将它与 MSYS 一起使用)。

4

1 回答 1

5

我在使用 CMake 和 clang 在 linux 中编译时遇到了类似的问题。我通过添加标志来修复它

-DBOOST_SYSTEM_NO_DEPRECATED

这“注释”了导致问题的行。我不知道这是否会解决您的错误,但它确实解决了我的错误。

(如果您使用 ./configure 还添加 CPPFLAGS='-DBOOST_SYSTEM_NO_DEPRECATED' 作为参数)。

于 2013-09-17T13:22:21.597 回答