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

未定义对boost::system::generic_category()的引用-在Windows上使用Eclipse CDT设置Ogre,boost,compiler-errors,mingw,eclipse-cdt,ogre,Boost,Compiler Errors,Mingw,Eclipse Cdt,Ogre,好的,我一直在学习教程 我按照指示设置了所有内容(仔细检查了所有内容),唯一更改的是(步骤10),从 到 因为在我的Ogre SDK版本(1.81)中,没有boost_1_44文件夹,只有boost文件夹 不管怎样,正如我所说,当我试图编译我的程序时,我得到了以下三个错误: undefined reference to boost::system::generic_category() undefined reference to boost::system::generic_category

好的,我一直在学习教程

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

因为在我的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\u系统添加到我的项目中。我去了属性> C/C++ +构建>设置> GCC C++编译器>杂项,并添加到现有的标志中,但没有运气。 我在谷歌上搜索,显然这是唯一可能的解决方案。所以,我问你,如果有人能解释我(尽可能简单,请一步一步)如何修复这个编译器错误


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

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

-DBOOST_SYSTEM_NO_DEPRECATED
此“注释”指出了导致问题的行。我不知道这是否能修复你的错误,但它确实修复了我的错误


(如果您使用./configure还添加了CPPFLAGS='-DBOOST\u SYSTEM\u NO\u DEPRECATED'作为参数)。

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

-DBOOST_SYSTEM_NO_DEPRECATED
此“注释”指出了导致问题的行。我不知道这是否能修复你的错误,但它确实修复了我的错误


(如果使用./CODE也添加CPPFLAGIS= = -DBOOSTSTYSypRyNoSeDebug)作为参数。< /P>您有<代码> LBooBoSTyStasy.Link/<代码>链接器路径吗?我在属性中添加了它。C/C++ +构建>设置>明文C++链接器>库>库(-L);但是我得到了一个错误,说:“找不到-libboost_system.a”。再说一遍,“链接器路径上有libboost_system.a吗”?你看到这样的文件了吗?名为“libboost_system.a”的文件是否存在于预期的位置?我看不到它,但我对Eclipse IDE完全陌生,所以我可能找错了地方…它与Eclipse无关。如果您还没有构建Boost,那么Boost.System静态库就不存在。你应该首先建立Boost(见“入门”手册:)。你有<代码> LBooBoStSype吗?链接器路径上的< /C>?我在属性> C/C++ +构建>设置>明文C++链接器>库>库(-L)中添加了它。但是我得到了一个错误,说:“找不到-libboost_system.a”。再说一遍,“链接器路径上有libboost_system.a吗”?你看到这样的文件了吗?名为“libboost_system.a”的文件是否存在于预期的位置?我看不到它,但我对Eclipse IDE完全陌生,所以我可能找错了地方…它与Eclipse无关。如果您还没有构建Boost,那么Boost.System静态库就不存在。您应该首先构建boost(请参阅“入门”手册:)。感谢您提供的解决方案。在编译POV时,我花了1个多小时搜索错误原因。感谢您的解决方案。在编译POV光线时,我花了1个多小时搜索错误原因

-DBOOST_SYSTEM_NO_DEPRECATED