1.只编译不链接:
g++ -c function.cpp
生成function.o文件,不需要考虑包含的function.h,它会自动读取.h并编译
g++ -c main.cpp
生成main.o
2.在.o文件的基础上链接(通常建议使用此方式)
g++ -o helloworld main.o function.o
生成可执行文件helloworld。-o后紧跟的是生成的可执行文件的名字, 再之后是.o文件
helloworld是生成的文件名,可以任性地修改
执行:
./helloworld
即可运行。
3.编译并链接:
g++ -o helloworld function.cpp main.cpp
./helloworld
即可执行
注意:
(1)gcc虽然也可完成cpp文件的编译生成.o文件并且效果和g++一样,但是在使用gcc -o对cpp生成的.o进行链接时是要出问题,必须使用g++ -o。
(2)分别编译时function.cpp中包含的库文件如iostream,main.cpp中也要再包含一次
g++ -c function.cpp
生成function.o文件,不需要考虑包含的function.h,它会自动读取.h并编译
g++ -c main.cpp
生成main.o
g++ -o helloworld main.o function.o
生成可执行文件helloworld。-o后紧跟的是生成的可执行文件的名字, 再之后是.o文件
helloworld是生成的文件名,可以任性地修改
执行:
./helloworld
即可运行。
g++ -o helloworld function.cpp main.cpp
./helloworld
即可执行
(1)gcc虽然也可完成cpp文件的编译生成.o文件并且效果和g++一样,但是在使用gcc -o对cpp生成的.o进行链接时是要出问题,必须使用g++ -o。
(2)分别编译时function.cpp中包含的库文件如iostream,main.cpp中也要再包含一次