linux下实现g++编译链接c++源文件和头文件

时间:2022-08-09 01:51:38

最基本的编译文件方法

g++ -c xxx.cpp -o xxx

./xxx

C++编译多个文件 makefile

   

逐步编译:

g++ -c APCluster.cppAPCluster.h //生成APCluster.o 中间文件
g++ -c example.cppAPCluster.h  //生成example.o中间文件
g++ -o main APCluster.o example.o

 

makefile:

GNU的make很强大,它可以自动推导文件以及文件依赖关系后面的命令,上面编译对应的makefile如下:

main: APCluster.oexample.o        //main为最终可执行文件

 g++ -o main APCluster.o example.o //或者g++APCluster.o example.o-omain应该也行

APCluster.o :APCluster.cppAPCluster.h   //定义依赖关系

 g++ -c APCluster.cppAPCluster.h   //如何生成目标文件的操作系统命令,一定要以一个tab键作为开头,

                                   //-c只激活预处理,编译,和汇编,也就是他只把程序做成obj文件*.o

example.o: example.cpp APCluster.h

 g++ -c example.cppAPCluster.h    //APCluster.h可以不要,因为上句已经指明,会自动链接

clean:                             //定义makeclean指令
 rm main APCluster.o example.o

我们可以把这个内容保存在名字为“makefile”或“Makefile”的文件中,然后在该目录下直接输入命令“make”就可以生成执行文件edit。如果要删除执行文件和所有的中间目标文件,那么,只要简单地执行一下“make clean”就可以了。