我只是继承了一些c++代码,这些代码是用一个包含main和其他一些函数的cpp文件编写的。还有一些.h文件包含类及其函数定义。
到目前为止,该程序是使用g++ main.cpp命令编译的。现在我已经将类分离为.h和.cpp文件,我需要使用makefile还是我仍然可以使用g++ main.cpp命令?
我只是继承了一些c++代码,这些代码是用一个包含main和其他一些函数的cpp文件编写的。还有一些.h文件包含类及其函数定义。
到目前为止,该程序是使用g++ main.cpp命令编译的。现在我已经将类分离为.h和.cpp文件,我需要使用makefile还是我仍然可以使用g++ main.cpp命令?
当前回答
你仍然可以直接使用g++,如果你想:
g++ f1.cpp f2.cpp main.cpp
其中f1.cpp和f2.cpp是包含函数的文件。有关如何使用make进行构建的详细信息,请参阅优秀的GNU make文档。
其他回答
我知道这个问题几年前就有人问过了,但我还是想分享一下我通常是如何编译多个c++文件的。
假设你有5个cpp文件,你所要做的就是使用*而不是输入每个cpp文件的名称,例如g++ -c *.cpp -o myprogram。 这会生成myprogram 运行程序。/myprogram
这就是! !
我使用*的原因是,如果你有30个cpp文件,你会全部输入吗?或者直接用*号节省时间:)
注:只有当你不关心makefile时才使用这个方法。
.h文件将与编译无关…你只关心CPP文件…输入g++ filename1.cpp filename2.cpp main。cpp -o myprogram
意味着你正在编译每个CPP文件,然后将它们链接到myprogram中。
然后运行你的程序。/myprogram
如果你想在cpp文件中使用#include <myheader.hpp>,你可以使用:
g++ *.cpp -I. -o out
~/In_ProjectDirectory $ g++ coordin_main.cpp coordin_funcc .cpp coordinator .h . cn
~/In_ProjectDirectory $ ./ a.t out .
... 工作! !
使用Linux Mint和Geany IDE
当我将每个文件保存到同一目录时,一个文件没有在该目录中正确保存;坐标文件。h。重新检查,它被保存为坐标。h,而不是->坐标。h。gch。那些小事。 Arg ! !
在main.cpp之后列出所有其他CPP文件。
ie
g++ main.cpp other.cpp etc.cpp
等等。
或者您可以单独编译它们。然后链接所有结果”。O”文件一起。