与犰狳的Eclipse CDT项目 - CDT无法识别' arma'命名空间

时间:2014-11-18 20:29:39

标签: c++ eclipse eclipse-cdt armadillo

我在CentOS 6.5 x64操作系统上运行,并使用yum安装犰狳。我正在开发Eclipse CDT

我在项目属性中包含了armadillo标题>> C / C ++ Build>>设置>> GCC C ++编译器>>包括>>包含文件。条目是:“/ usr / include / armadillo”

我正在处理的头文件识别armadillo,并且不会因任何错误或警告而标记include语句。

以下是代码:

#include <armadillo>

using namespace std;
using namespace arma; // arma is not recognized as a symbol

const double DEGREES_PER_RADIAN = 180.0 / datum::pi; // datum is not recognized

我已经检查了文件/usr/include/armadillo,它确实包含了名称空间arma部分。

//! \namespace arma namespace for Armadillo classes and functions
namespace arma
{

// preliminaries
...

我还检查了权限,/usr/include/armadillo文件对所有用户都可读。

问题是当我添加“using namespace arma”时,CDT将其标记为错误,并说“符号'arma'无法解析”。

此时,我没有任何其他想法来弄清楚为什么命名空间不被识别。任何有关这方面的见解或指示都将非常感激。

1 个答案:

答案 0 :(得分:2)

这个问题的答案提供了我的问题的答案: Clean Eclipse Index, it is out of sync with code

Josh Kelley从相关问题的回答:

  

右键单击您的项目,进入Index子菜单,然后选择“Rebuild”,“Update with modified files”或“Freshen all files。”

     

我不知道这三个选项之间的区别,但“使用修改过的文件更新”或“刷新所有文件”之一通常会为我修复它。

     

此外,我确信您已经完成了此操作,但请确保您运行的是最新版本的Eclipse CDT。当前版本似乎比以前的版本具有更可靠的索引。

运行Index&gt;&gt;重建和索引&gt;&gt;刷新所有文件,错误消失了。