我有一个带有多个源文件和多个头文件的c++项目。我想将我的项目提交给需要单个源文件的编程竞赛。是否有将所有文件折叠成单个.cpp文件的自动方法?
例如,如果我有a.cpp,a.h,b.cpp,b.h等,我想获取一个main.cpp,它将编译并成功运行。如果手动执行此操作,是否可以简单地合并头文件并将源文件相互附加?是否存在带有外部语句的陷阱,包括依赖项和前向声明?
最佳答案
我也需要这个来参加编码竞赛。准确地说,Codingame。因此,我编写了一个快速的JavaScript脚本来完成这项工作。你可以在这里找到它:
https://www.npmjs.com/package/codingame-cpp-merge
我在1场现场比赛和1个离线游戏中使用了它,但从未产生不良结果。欢迎在github上提出更改建议或提出拉取请求!