linux下debug与release编译的方法

如果是DEBUG,则加参数-Ddebug,release'版本则不加该参数。

一般,在开发测试阶段用debug版本,而上线发布用release版本。

使用Makefile定制编译不同版本,避免修改程序和Makefile文件,将会十分方便。

读了一些资料,找到一个解决方法,Makefile预定义宏与条件判断,结合make预定义变量,进

行条件编译。 比如,

有一个test.cpp,

包含这段代码

#ifdef debug//your code

#endif你

希望在debug版本要执行它,在release版本不执行。

我们可以写这样的一个Makefile:

1 ver = debug

2

 3

ifeq ($(ver), debug)

 4

ALL: test_d

 5 CXX

FLAGS = -c -g -Ddebug 6 else

 7 ALL: test_r

8 CXXFLAGS = -c -O3

 9 endif10

11 test_d: test.do

12 g++ -o $@ $^

13

14 test_r: test.ro

15 g++ -o $@ $^

16

17 %.do: %.cpp

18 g++ $(CXXFLAGS) $< -o $@<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉心编码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值