mat*_*dev 6 c++ environment-variables visual-studio
作为构建过程的一部分,我需要获取由批处理脚本定义的环境变量,并在编译时将其用作代码中的常量.
例如,假设我已经定义了一个名为的环境变量BUILD_VERSION并将其设置为1.0.0,在编译时我希望1.0.0将其编入我的代码中.例如:
批处理文件:
set BUILD_VERSION = 1.0.0
; call vs compiler
Run Code Online (Sandbox Code Playgroud)
C++文件:
const std::string build_version = BUILD_VERSION // Which will result in "1.0.0".
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
最后,我遵循了txchelp的建议,并在项目属性/D的“ 命令行->其他选项”部分添加了一个标志,以将环境变量声明为预处理器定义。
它看起来像这样:

然后在开始构建的批处理脚本中:
set SVN_BUILD_VERSION=1.0.0
Run Code Online (Sandbox Code Playgroud)
最后将其提取为源代码中的字符串:
#define STRINGIZER(arg) #arg
#define STR_VALUE(arg) STRINGIZER(arg)
#define BUILD_VERSION_STRING STR_VALUE(BUILD_VERSION)
// ...
const std::string version = BUILD_VERSION_STRING; // Results in "1.0.0".
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6082 次 |
| 最近记录: |