cygwin - 即使在声明包含路径之后,CDT 也无法正确找到 Cygwin gcc 包含文件

标签 cygwin eclipse-cdt

我有一个相当尴尬的问题,因为这个问题在 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/

相关文章:

bash - 如何从 Cygwin 调用 bat/cmd 文件并继承变量?

c++ - Cygwin pkg-config/protobuf 文件路径问题

c++ - 为 ubuntu 写一个 cygwin makefile

dll - Cygwin 中的 rebaseall 是做什么的?

c++ - 将 kernel32.lib 添加到所有项目的 Eclipse(带有 CDT 插件)路径

cygwin - OCaml 与 Cygwin 问题

XML(非 C++)文件中的 Eclipse CDT 拼写检查

c++ - Eclipse CDT 编辑器无法识别 OpenGL 扩展

c - Eclipse CDT 在底层对 'make' 做了什么

c - 为什么Eclipse CDT说: 'syntax error' ,但是编译没问题