对boost :: system :: generic_category()的未定义引用 - 在Windows上使用Eclipse CDT设置Ogre

时间:2013-07-22 20:35:26

标签: boost compiler-errors mingw eclipse-cdt ogre

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

我设置了所有内容(双重检查所有内容),只有我改变的是(步骤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>设置> GCC C ++编译器>杂项并将其添加到现有标志中,但没有运气。

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

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

1 个答案:

答案 0 :(得分:5)

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

来修复它
-DBOOST_SYSTEM_NO_DEPRECATED

这“引用”引起问题的线条。我不知道这是否能解决你的错误,但它确实解决了我的错误。

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