g++编译cpp文件

源代码hel.h

#include "iostream"

源代码hel.cpp

#include "hel.h"

using namespace std;

int main(){
        std::cout<< "--start---" << std::endl;
        return 0;
}


方法一:

将hel.cpp编译成hel.o文件

g++ -c hel.cpp -o hel.o

将hel.o链接成可执行程序hel.out

$ g++ -o hel.out hel.o


方法二:

$ g++ -o hel.out hel.cpp


方法三:

写makefile文件

cc=g++
dst=hel.out
header=$(shell find ./ -iname "*.h" )
src=$(shell find ./ -iname "*.cpp" )
objs=$(src:%.cpp=%.o)


$(dst) : $(objs)
        $(cc) -o $(dst)  $(objs)

%.o: %.cpp  $(header)
        $(cc) -c $< -o $@   #其中 $<表示冒号后的依赖文件 *.cpp  $@代表生成的冒号
前面的 *.o

clean:
        rm -f *.o  *.exe  *~  *.out

解释如下:

(1)Makefile中的 符号 $@, $^, $< 的意思:
  $@  表示目标文件
  $^  表示所有的依赖文件
  $<  表示第一个依赖文件
  $?  表示比目标还要新的依赖文件列表

执行make命令自动生成目标文件

$ make
g++ -c hel.cpp -o hel.o   #其中 hel.cpp表示冒号后的依赖文件 *.cpp  hel.o代表生成的冒号前面的 *.o
g++ -o hel.out  ./hel.o


以上三种方法都可以生成执行文件 hel.out

$ ./hel.out
--start---
运行结果
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值