学无先后,达者为师

网站首页 编程语言 正文

C++通过Makefile定义宏参数,传入程序

作者:阳光_你好 更新时间: 2022-10-29 编程语言

严格来说应该是通过C++编译工具g++ -D 参数传递宏参数,下面我们来一起操作起来

1.main.cpp编写

#include <iostream>

using namespace std;

int main(int argc, char **argv) 
{
	cout << "version:" << VERSION << endl; 
	return 0;
}

2.Makefile编写

# 字符串需要加双引号""定义
BRANCH="$(shell git rev-parse --abbrev-ref HEAD)" # git分支号
COMMIT="$(shell git log --pretty=format:"%h" -1)" # git提交号
VER="$(BRANCH)-$(COMMIT)"

all:
	g++ -DVERSION="\$(VER)\" -o version version.cpp 

clean:
	rm -fv *.o

3.编译与运行测试

➜  version git:(master)make  # 编译                                     
g++ -DVERSION="\""master" -"e07bca1" "\" -o version version.cpp 
➜  version git:(master) ✗ ./version    # 运行可执行文件                               
version:master-e07bca1  # 获得git分支和版本号

原文链接:https://blog.csdn.net/weixin_45805339/article/details/127441479

栏目分类
最近更新