如何将 git describe 命令的结果嵌入到我的 C++ 二进制文件中,以便我可以在运行时访问它。
我知道我可以做这样的事情
g++ -DVERSION_NUMBER=2345
然后在我的代码中我可以这样做:
std::cout << VERSION_NUMBER << std::endl;
这很好,但如果版本号的值是一个字符串(例如 git describe 命令的输出),则无法使用。
那么有没有办法做这样的事情呢?
谢谢。
最佳答案
我也想做同样的事情。通过使用 GNU Make 的“shell”命令,我能够让 -D
标志正常工作:
生成文件:
VERSION=\"$(shell git describe)\"
CFLAGS=-DVERSION_NUMBER=$(VERSION) # etc
然后在代码中我可以毫无问题地引用 VERSION_NUMBER
定义,例如
测试.c:
printf("Version string: %s\n", VERSION_NUMBER);
关于git - 在 C++ 二进制文件中嵌入 git 描述字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6667216/