c++ - Eclipse CDT 基于文件构建/运行

标签 c++ eclipse ide eclipse-cdt

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

我的项目结构非常简单,如下所示:

src/app1.cpp
src/app2.cpp
src/...

请注意,我没有通用的头文件或库。但是我希望能够通过创建例如添加程序到这个项目。源代码/appx.cpp

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

  • “构建当前打开的.cpp”
  • “运行当前打开的 .cpp 的二进制文件”

关于如何在没有额外插件的情况下实现这种行为的任何建议?

最佳答案

实现您的目标的直接方法是使用 CDT 创建一个 Makefile 项目,并在您的 Makefile 中为您的每个应用程序添加一个新的目标规则。你甚至可以使用 SCons或其他带有 CDT Makefile 项目的构建系统并获得相同的效果。

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

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

postbuild.sh 用于 Linux:

 chmod +x *.o
 rename -v 's/\.o$//' *.o

或用于 Windows 的 postbuild.bat:

rename *.o *.exe

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

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

关于c++ - Eclipse CDT 基于文件构建/运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5370180/

相关文章:

c++ - 如何将二进制数据写入压缩文件

c++ - C++ boost 绑定(bind)性能

eclipse - 在 SSL 重定向后使用 Eclipse 更新站点

ide - 有没有在 Blackberry 上运行的免费移动 IDE?

java - 在 Eclipse 中生成可运行 JAR 的热键

c++ - 为什么在设置类成员时会自动从 const 转换为 non-const &?

c# - 浮点加法 : loss-of-precision issues

android - 有没有办法将 Eclipse 设置为从一个应用程序调试到另一个应用程序?

javascript - 是否有为 "javascript revealing module pattern"创建大纲 View 的 eclipse 插件?

php - (Eclipse PDT == Zend Studio 8) 会返回 true 吗?