我有一个相当尴尬的问题,因为这个问题在 Linux 机器和我的 Windows XP 机器上都没有问题。但现在,在最终切换到 Windows 7 64 位之后,我遇到了让 Eclipse 找到我的 C++ 包含文件的基本问题...
我的设置:
我运行的是 Windows 7 64 位。我已将 cygwin 安装到“C:\Program Files\cygwin”,将 Eclipse Juno 64bit 安装到“C:\Program Files\eclipse”。
我的问题:
我使用 Cygwin 工具链创建了一个基本的“Hello World”C++ Makefile 项目。编译工作没有问题,但 Eclipse 仍然提示它找不到“iostream”的包含。
我尝试过的:
在项目属性 -> C/C++ 常规 -> 路径和符号 -> 包含中,我将 GNU C 和 GNU C++ 的包含目录设置为
C:\Program Files\cygwin\lib\gcc\i686-pc-cygwin\4.5.3\include
其中包含 iostream 包含在子目录中。 这不起作用
然后我尝试了确切的目录
C:\Program Files\cygwin\lib\gcc\i686-pc-cygwin\4.5.3\include\C++
包含 iostream。这次,找到了 include,但即使重建索引后,Eclipse 仍然无法解析 std、cout 和 endl。然后我尝试了3.x版本的gcc的include目录
C:\Program Files\cygwin\lib\gcc\i686-pc-cygwin\3.4.4\include\C++
并且成功了。不幸的是,我需要 4.x 版本的 gcc,所以这对我来说不是永久的解决方案。
我的问题:
我怎样才能解决这个问题并使 Eclipse 找到 gcc 4.x 包含目录并正确使用它们?
最佳答案
您必须让 Eclipse“忘记”并重新发现编译器的包含目录,而不是更改特定于项目的更改。通过 Windows | 执行此操作偏好 | C/C++ |构建 |设置;您需要清除 gcc 的“发现”条目。
另请参阅this question .
关于cygwin - 即使在声明包含路径之后,CDT 也无法正确找到 Cygwin gcc 包含文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12079002/