首页 > 解决方案 > 当有 hpp 时,我可以在 main 中包含一个 cpp 文件吗?

问题描述

例如:我有一个名为 A 的类。并且有:

A.hpp
A.cpp
main.cpp

对于我的项目

默认情况下,我只需要在 main 中包含 A.hpp,这样我就可以编译它,可以使用 Xcode 等 IDE 或使用:

g++ main.cpp A.cpp -o xxxxx

但是提交系统只允许我使用:

g++ main.cpp -o xxxx

我试图在主文件中包含 A.cpp,但 IDE 说:构建序言时不能递归地包含主文件

有什么解决办法吗?我想分别保留我的 hpp 和 cpp。

标签: c++includemain

解决方案


我可以包含一个cpp文件吗

理论上,可以包含任何文件。

但作为惯例,您永远不应该包含 cpp 文件。

但是提交系统只允许我使用:

g++ main.cpp -o xxxx

如果您无法编译 A.cpp,则根本不要编写此类文件。将您在 A.cpp 中编写的定义写入 main.cpp。这与包含宏的效果相同,但在另一个 cpp 文件中不会有重复的定义。


推荐阅读