gpt4 book ai didi

c++ - 如何在 Visual Studio 2019 中有条件编译 C++ 源文件?

转载 作者:行者123 更新时间:2023-12-03 03:11:46 29 4
gpt4 key购买 nike

我需要根据环境变量或其他输入参数有条件地编译 C++ 源文件。 VS2019中有没有机制可以做到这一点?

最佳答案

此解决方案适用于 VS2017,但我不知道为什么它不适用于 VS2019。

您可以“导入”环境变量作为预处理器定义。在 Visual Studio 项目的属性中,转到配置属性 -> C/C++ -> 预处理器。单击“预处理器定义”字段,点击最右侧的向下箭头,然后选择“编辑”。

在这里,您可以添加包含环境变量的预处理器定义。每行代表一个带有符号 [name]=[value] 的定义,它定义了一个名为 [name] 的预处理器定义,该定义将被 [value]。环境变量应包含在 $() 中进行解析。因此,例如,要导入环境变量 MY_ENV_VAR,您需要添加定义 MY_ENV_VAR=$(MY_ENV_VAR)。如果 MY_ENV_VAR 在编译时为 5,则此定义相当于在整个项目中提供 #define MY_ENV_VAR 5

在源文件中,您可以使用 #if/#endif 保护来包装代码,以有条件地编译该代码。使用相同的示例,要仅在 MY_ENV_VAR 恰好为 1 时编译源文件,您可以编写:

#if MY_ENV_VAR == 1

// Entire source file

#endif // #if MY_ENV_VAR == 1

请注意,环境变量是在 Visual Studio 启动时加载的。如果您希望最近对环境变量所做的更改可见,您可能需要重新启动 Visual Studio。

关于c++ - 如何在 Visual Studio 2019 中有条件编译 C++ 源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58806737/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com