将Eclipse用于C/C++;在不更改现有项目目录结构的情况下进行开发

将Eclipse用于C/C++;在不更改现有项目目录结构的情况下进行开发,c,eclipse,eclipse-cdt,C,Eclipse,Eclipse Cdt,我主要使用kate、vim等来编写代码,而只使用纯控制台和gdb(很少)来测试。我想开始使用eclipse,主要是为了方便查找内容,并希望(虽然不是非常重要)运行GUI调试器 但是,我不希望eclipse触及我真正的项目文件夹(显然,它应该更改代码,但不希望它创建任何配置文件夹等)。可能吗?我想在另一个文件夹上创建一个工作区,并从我的项目路径添加源。但是,如果没有eclipse处理Makefiles等的经验,这似乎很复杂 有人做过类似的事情吗?有什么指导方针吗?是的,这相当简单。与其创建一个标准

我主要使用
kate
vim
等来编写代码,而只使用纯控制台和gdb(很少)来测试。我想开始使用eclipse,主要是为了方便查找内容,并希望(虽然不是非常重要)运行GUI调试器

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


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

是的,这相当简单。与其创建一个标准的C项目来为您创建和管理makefiles,不如使用“带有现有代码的Makefile项目”

如果不希望.cproject、.project等文件混杂在一起,请在空目录中创建CDT项目,并使用链接的文件和文件夹来获取项目中所需的内容

如果您确实尝试在Eclipse中进行构建,它将执行“makeall”,但如果您没有Makefile,您将得到以下结果(clean也是如此):

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

一旦创建了项目,就需要对其进行配置,以获得CDT的所有优点。CDT索引器和扫描程序需要了解编译器设置(包括和定义)。有两种方式可以传递该信息:

  • 在Eclipse中运行详细的构建(即使用gcc命令行参数进行响应)(例如,使用上面描述的普通Makefile)。CDT将解析该输出并自动选择使用的编译器选项
  • CDT可以通过多种方式了解您的设置,要配置如何获取设置,请转到“项目属性”->“C/C++常规”->“预处理器包括路径、宏等”,并在“提供程序”选项卡中调整源:

  • 在项目属性中,编辑C/C++常规->路径和符号属性。如果CDT也无法确定步骤1中的所有设置,您可能必须执行此操作。这是其中一些设置的屏幕截图:

  • 在别处创建一个空项目,然后将源文件作为“文件系统”导入。或者只是将源代码作为链接导入。这是一个相当广泛的问题,我已经为您提供了一个起点,但是,如果可能的话,将后续问题作为新问题添加到SO而不是这个问题上。谢谢,我还没有尝试过它(makefile是超级复杂的,链接了大约100个不同的makefiles,因此需要考虑如何)但是想想链接这些文件就是诀窍:)thx。
    make all 
    make: *** No rule to make target `all'. Stop.