在不改变现有项目目录结构的情况下使用 Eclipse 进行 C/C++ 开发

Using Eclipse for C/C++ development without changing existing project directory structure

我主要使用 katevim 等进行编码,只使用纯控制台和 gdb(很少)进行测试。我想开始使用 eclipse,主要是为了便于查找东西,并希望(虽然不是特别重要)运行 GUI 调试器。

但是,我不希望 eclipse 触及我的真实项目文件夹(显然,它应该更改代码,但不希望它创建任何配置文件夹等)。那可能吗?我想在不同的文件夹上创建一个工作区,并从我的项目路径中添加源。但是在处理 Makefiles 等时,如果没有任何 eclipse 经验,这似乎很复杂!

有人做过类似的事情吗?有什么指导方针吗?

是的,这很简单。不要创建标准的 C 项目来为您创建和管理 makefile,而是使用 "Makefile Project with Existing Code"。

如果您不希望 .cproject.project 等文件混合,请创建 CDT 项目在一个空目录中并使用链接文件和文件夹在项目中提取您想要的内容。

如果您确实尝试在 Eclipse 中进行构建,它会执行 "make all",但如果您没有 Makefile,您将得到这个(对于 clean 也是如此):

make all 
make: *** No rule to make target `all'. Stop.

我为没有 make 等效项(如 CPython 扩展)的项目所做的是编写一个简单的 Makefile,将所有和干净的目标委托给我的真实工具。

创建项目后,您需要配置它以获得 CDT 的所有优点。 CDT 索引器和扫描器需要了解您的编译器设置(真正包含和定义)。有两种传递信息的方式:

  1. 运行 来自 Eclipse 的冗长构建(即回显 gcc 命令行参数)(例如,使用上述简单的 Makefile)。 CDT 将解析该输出并自动选取使用的编译器选项。

CDT 可以通过多种方式了解您的设置,配置它们的获取方式,前往项目属性 -> C/C+ + General -> Preprocessor Include Paths, Macros etc. 并在 Providers 选项卡中调整源:

  1. 在项目属性中,编辑 C/C++ General -> Paths and Symbols 属性。如果 CDT 也无法确定您在步骤 1 中的所有设置,您可能必须这样做。这是其中一些设置的屏幕截图: