Eclipse CDT基于文件构建/运行

dcn*_*dcn 8 c++ eclipse ide eclipse-cdt

在我的场景中,我在CDT Eclipse中有一个C++项目.然而,这个项目是一个单独(辅助)程序的集合,而不是一个复杂的应用程序.因此,我希望能够单独构建和运行它们.

我的项目结构非常简单,看起来像:

src/app1.cpp
src/app2.cpp
src/...
Run Code Online (Sandbox Code Playgroud)

请注意,我没有常见的头文件或库.但是我希望能够通过创建例如src/appx.cpp来为这个项目添加程序

理想情况下,我希望有快捷方式

  • "Build当前打开.cpp"
  • "运行当前打开的.cpp的二进制文件"

有关如何实现此行为的任何建议,如果可能的话没有额外的插件?

Tug*_*tes 5

接替你的目标是什么简单的方法是创建CDT一个Makefile项目,并添加一个新的目标规则为每一个内部应用程序的Makefile文件.您甚至可以将SCons或其他构建系统与CDT Makefile项目一起使用,并获得相同的效果.

您还可以欺骗托管构建以创建可执行文件而不是目标文件.-c从项目属性中的C++编译器设置的其他标志中删除选项.这将为每个源文件生成单独的应用程序文件.

在构建目录中创建的应用程序文件将具有目标文件扩展名,并且它们将不可执行.要解决此问题,您可以在项目目录中添加后期构建脚本,例如:

postbuild.sh 对于Linux:

 chmod +x *.o
 rename -v 's/\.o$//' *.o
Run Code Online (Sandbox Code Playgroud)

或者postbuild.bat用于Windows:

rename *.o *.exe
Run Code Online (Sandbox Code Playgroud)

在构建设置中添加../postbuild.sh../postbuild.bat作为构建后命令后,您的应用程序就可以运行了.右键单击任何这些可执行文件,然后选择Debug AsRun As将创建一个新的运行配置.

此外,您必须停止托管构建的链接器以防止错误.这可以通过将链接器命令更改为true(Linux)或true.exe(Windows,msys)来实现.