Visual Studio 2008环境变量在编译时使用
Visual Studio 2008 Environment Variable Use at Compile Time
我想在Jenkins系统定义的两个环境变量(BUILD_NUMBER和NODE_NAME)中编译,以便保存这些编译时值,然后在运行程序时访问这些保存的值(无论用户当前将BUILD_UMBER和NODE_NAME设置为什么)
使用Visual Studio 2008可以做到这一点吗?如果我能完全在我们的代码中完成这一点,并且不必修改编译系统来传递任何东西,那就太好了。
实现这一点的一种方法是添加一个预构建步骤,该步骤使用类似的东西执行批处理文件
>jenkins.h echo #define BUILD_NUMBER %BUILD_NUMBER%
然后从您的源代码#include "jenkins.h"
,并可以立即访问在编译时烘焙的宏BUILD_NUMBER
。
您可以将变量设为全局变量,并使用getenv
检索它们:
const char* buildNumber = getenv("BUILD_NUMBER");
const char* nodeName = getenv("NODE_NAME");
不过,这不是在编译时完成的,但如果您只在运行时使用变量,那就无关紧要了。
编辑:
您可以在项目属性中将BUILD_NUMBER="$(BUILD_NUMBER)"
添加到预处理器指令中。
相关文章:
- 如何在 Android Studio 4 中编译 C/C++ 原生代码
- 编译并运行后,输出未出现在 Visual Studio 代码中
- 第三方 API 中的编译错误 - Visual Studio
- std::unique_ptr 在 GCC 中工作,但不能在 Visual Studio 中编译
- 如何在 CMake 中添加预编译标头用于 Visual Studio 生成器
- 如何在调试中使用Visual Studio正确编译WebRTC?
- 如果我的手机是 ARMv8,为什么 Android Studio 会C++编译为 ARMv7?
- Qt Visual Studio 2015 加载项编译问题
- 通过命令行在Visual Studio中编译单个独立文件
- 使用 Visual Studio 2019 编译 Unicode
- C++20 使用 Visual Studio 编译模块:不编译或导入 ixx 文件
- 使用 CMake 和 Visual Studio 2019 编译 GLEW?
- Visual Studio 2019编译和构建
- 如何在不需要LIBCD.lib的情况下在Visual Studio 6中编译C项目
- 在Visual Studio中编译C++
- Qt - 为什么Visual Studio 2019在qml资源中添加10Mb文件后无法再编译我的项目?
- 如何获得CMake Tools以在Visual Studio Code中编译具有C++11(或更高版本)功能的程序?
- 如何在Visual Studio 2019中启用C++98编译?
- 在 Visual Studio 中的 1 个项目中编译单个 C++ 源文件
- 如何在Visual Studio中为CUDA项目启用单独的编译