我只是继承了一些c++代码,这些代码是用一个包含main和其他一些函数的cpp文件编写的。还有一些.h文件包含类及其函数定义。

到目前为止,该程序是使用g++ main.cpp命令编译的。现在我已经将类分离为.h和.cpp文件,我需要使用makefile还是我仍然可以使用g++ main.cpp命令?


当前回答

就像rebenvp说的那样:

g++ *.cpp -o output

然后对输出执行如下操作:

./output

但是更好的解决方案是使用make文件。阅读这里了解更多关于make文件的信息。

还要确保在.cpp文件中添加了所需的.h文件。

其他回答

我知道这个问题几年前就有人问过了,但我还是想分享一下我通常是如何编译多个c++文件的。

假设你有5个cpp文件,你所要做的就是使用*而不是输入每个cpp文件的名称,例如g++ -c *.cpp -o myprogram。 这会生成myprogram 运行程序。/myprogram

这就是! !

我使用*的原因是,如果你有30个cpp文件,你会全部输入吗?或者直接用*号节省时间:)

注:只有当你不关心makefile时才使用这个方法。

如果你想在cpp文件中使用#include <myheader.hpp>,你可以使用:

g++ *.cpp -I. -o out

在main.cpp之后列出所有其他CPP文件。

ie

g++ main.cpp other.cpp etc.cpp

等等。

或者您可以单独编译它们。然后链接所有结果”。O”文件一起。

就像rebenvp说的那样:

g++ *.cpp -o output

然后对输出执行如下操作:

./output

但是更好的解决方案是使用make文件。阅读这里了解更多关于make文件的信息。

还要确保在.cpp文件中添加了所需的.h文件。

您可以使用几个g++命令,然后链接,但最简单的是使用传统的Makefile或其他构建系统:如Scons(通常比Makefile更容易设置)。