我的Makefile配置说明

本文分享了一个Makefile模板,用于编译Linux下的C/C++代码。文章详细解释了模板中的关键部分,包括条件编译、输出目录设置、头文件和库文件路径指定等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    写了一段时间的Makefile,编译linux下的C/C++代码,现在对我所使用的一些Makefile的配置作一个总结说明。

    首先先贴一段本人常用的Makefile模版,然后对此Makefile进行总结说明。

    代码如下:

      

 

总结:

1、ifneq

     else

     endif

     的使用。

 

     (见代码8-16行)

2、目标文件输出到指定目录:

     bindir=./bin

     (见代码18-19行)

3、gcc -I

     指定编译的头文件目录

4、gcc -L

     指定编译时lib文件的目录

5、gcc -WL,-rpath

      LD_LIBRARY_PATH的设定作用是全局的,过多的使用可能会影响到其他应用程序的运行,所以多用在调试。通常情况下推荐还是使用gcc的-R或-rpath选项来在编译时就指定库的查找路径,并且该库的路径信息保存在可执行文件中,运行时它会直接到该路径查找库,避免了使用LD_LIBRARY_PATH环境变量查找。

 

      (见代码60行)

 

6、自动依赖头文件,如果去掉自动依赖头文件,那头文件的修改,将不会重新编译。

     (见代码80-96行)

7、$<   

第一个依赖项

8、$@

第一个目标项

9、模式替代

     bj_targer=$(src_targer:.cpp=.o)

    (见代码43行)

10、展开模式替代

    $(obj_targer):%.o:%.cpp
        g++  -g  $(include_std) -c $< -o $@

 

   (见代码75-76行)

    

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值