【发布时间】:2016-03-25 01:46:11
【问题描述】:
我正在尝试使用 CDT 来编辑 C++ 文件。但是,它拒绝看到像 string 和 vector 这样的 std 类。
(至少现在,我将继续在 Eclipse 之外使用 make 进行构建。代码编译得很好。但是没有定义字符串等。几乎所有内容在编辑器中都显示为错误。)
我正在使用 Luna。使用“帮助”>“安装新软件”将 CDT 添加到面向 Java 的 Eclipse。
文档只是说“安装工具链和发生的事情”。但是花了几个小时阅读了这个,我认为“工具链”这个短语有几个不同的含义,具体取决于句子。其中包括
- 编译器和链接器本身,例如明格
- 额外的东西(插件?)添加到 Eclipse 本身,以便它可以使用这些编译器。
- Eclipse 本身的配置
我的make文件使用
D:\cygwin64\lib\gcc\x86_64-w64-mingw32\4.8.3\include
但有时 CDT 似乎指向
D:\mingw64\include\c++\4.5.4
没关系,因为它将具有相同的 .h 文件。
我试过摆弄 PATH(到 /bin),加上项目属性 >> 环境 MINGW_HOME。 “工具链编辑器”提到了 MingGW,说的是 GCC C++,但我不知道那是什么意思,而且易于使用的界面没有显示路径。
我也尝试将 D:\cygwin64\lib\gcc\x86_64-w64-mingw32\4.8.3\include 添加到 Paths & Symbols > Include,但这没有帮助。
还有“库”和“库路径”。我不知道有什么区别(两者都想要路径)但我猜这是用于链接,而不是编译。我也猜测 C++ 的 IDE 解析编辑过程由CDT自己完成,不依赖外部编译器。
第二个问题是 CDT 如何确定哪些头文件是相关的?一般来说,这在 C 中是无法确定的,在我的情况下,我的头文件依赖于从包含的 .cpp 文件加载的其他头文件。我猜它只是忽略#include 指令并加载它遇到的每个头文件,希望没有冲突。
【问题讨论】:
标签: eclipse-cdt