Eclipse CDT基于文件构建/运行 在我的场景中,我在CDT Eclipse中有C++项目。然而,这个项目更像是单个(助手)程序的集合,而不是一个复杂的应用程序。因此,我希望能够单独构建和运行它们
我的项目结构非常简单,如下所示:Eclipse CDT基于文件构建/运行 在我的场景中,我在CDT Eclipse中有C++项目。然而,这个项目更像是单个(助手)程序的集合,而不是一个复杂的应用程序。因此,我希望能够单独构建和运行它们,c++,eclipse,ide,eclipse-cdt,C++,Eclipse,Ide,Eclipse Cdt,我的项目结构非常简单,如下所示: src/app1.cpp src/app2.cpp src/... 请注意,我没有公共头文件或库。但是,我希望能够通过创建例如src/appx.cpp来将程序添加到此项目中 理想情况下,我希望有捷径的 “当前打开的生成。cpp” “运行当前打开的.cpp的二进制文件” 如果可能的话,在没有额外插件的情况下,有没有关于如何实现这种行为的建议?成功的直接方法是使用CDT创建一个Makefile项目,并在Makefile中为每个应用程序添加一个新的目标规则。您甚
src/app1.cpp
src/app2.cpp
src/...
请注意,我没有公共头文件或库。但是,我希望能够通过创建例如src/appx.cpp来将程序添加到此项目中
理想情况下,我希望有捷径的
- “当前打开的生成。cpp”
- “运行当前打开的.cpp的二进制文件”
如果可能的话,在没有额外插件的情况下,有没有关于如何实现这种行为的建议?成功的直接方法是使用CDT创建一个Makefile项目,并在Makefile中为每个应用程序添加一个新的目标规则。您甚至可以使用CDT Makefile项目或其他构建系统,并获得相同的效果 您还可以欺骗托管生成来创建可执行文件,而不是对象文件。从项目属性内的C++编译器设置的其他标志中移除<代码> -c>代码>选项。这将为每个源文件生成一个单独的应用程序文件 在构建目录中创建的应用程序文件将具有对象文件扩展名,并且它们将不可执行。要解决此问题,可以在项目目录中添加生成后脚本,例如:
postbuild.sh
Linux版:
chmod +x *.o
rename -v 's/\.o$//' *.o
或postbuild.bat
用于Windows:
rename *.o *.exe
在生成设置中添加。/postbuild.sh
或。/postbuild.bat
作为生成后命令后,应用程序就可以运行了。右键单击这些可执行文件中的任何一个,然后选择Debug As
或Run As
,将创建一个新的运行配置
此外,您还必须停止托管生成的链接器以防止出现错误。这可以通过将链接器命令更改为
true
(Linux)或true.exe
(Windows、msys)来实现。这当然允许我独立构建/运行不同的应用程序。然而,它需要相当多的努力来添加新的应用程序,例如。我正在寻找一种更方便的方法,将文件本身用作构建/运行的对象,类似于单个java的“作为应用程序运行”classes@dcn:请查看更新的答案并查看其是否有效。我已经在Windows下测试了它,并切换到Ubuntu进行测试。如果它对你不起作用,你的反馈将是有价值的。这个解决方案确实有效。坦率地说,我曾希望使用一些eclipse项目选项获得一个更干净/不棘手的解决方案,但我还没有找到,但我的直觉告诉我,您的建议是最好的。也可能有用。