Eclipse CDT不解析在#include文件中初始化的变量

时间:2014-11-04 06:38:56

标签: c++ eclipse include eclipse-cdt

当尝试使用CDT编辑OpenFOAM(一种流行的计算流体动力学软件包)中的文件时,会出现问题。我正在使用Eclipse Kepler SR2 Build id:20140224-0627和CDT 8.3.0.201402142303以下是该问题的简化版本。

给出以下hello.cpp

#include <iostream>
#include <string>
    int main(){
        #include "hello.H"
        std::cout << hello << std::endl;
    }

以及以下hello.H

std::string hello("Hello world!");

索引无法解决hello.cpp中的问候。但是,如果我将hello.H更改为hello.inc,它确实有效。这对于OpenFOAM来说不是一个可行的解决方案。如何使索引和自动完成功能与给定的结构一起工作?

注意:我也尝试过Eclipse Luna,同样的事情发生了。

编辑:我认为这可能是一个错误。经过更多的实验,发生了以下情况。当我将hello.H命名为hello.inc时,hello.cpp中的hello被识别出来。但是,当我重建索引时,它不是。然后我重新保存了hello.inc而没有进行功能修改,不料,它再次得到了认可。但是,如果我关闭自动索引,则在重建索引后不再解析它。

编辑2:在对问题进行进一步研究后,我发现以下重复,没有随机行为:  https://bugs.eclipse.org/bugs/show_bug.cgi?id=418085 我的耻辱:  #include inside function body doesn't work (CDT/Eclipse C++)  因此,这个问题可以作为副本关闭。对于那些感兴趣的人,CDT索引器实际上并不是为此而设计的,因为这是一种糟糕的编码风格。给我的主要信息是我应该使用OpenFoam的其他IDE。

0 个答案:

没有答案
相关问题