在visual studio中停止环境路径扩展

时间:2016-11-15 20:25:42

标签: c++ visual-studio c++11

我正在使用自动生成visual studio项目文件的程序。在这些生成的项目中,我希望有一个指定配置文件路径的#define。这将允许我在路径必须更改时不更改代码。在这条路径中,我需要能够使用环境路径,例如

%LOCALAPPDATA%\\\\Company\\\\Config.cfg.

此环境变量必须存在于运行时。在我的预处理器列表中,我有:

CONFIGURATION_PATH="%LOCALAPPDATA%\\\\Company\\\\Config.cfg".

不幸的是,在使用它时会改为:

C:\Users\Username\AppData\Local\\Company\\Config.cfg.

这意味着它将使用扩展路径进行编译。如果新用户运行该程序,则路径将是错误的。无论如何,当预处理器运行时,我可以阻止visual studio扩展环境变量吗?

人们可以想到这个问题还有其他解决办法吗?

1 个答案:

答案 0 :(得分:1)

documentation中所示,在msbuild中转义特殊字符的方法是%XX,其中XX是字符的十六进制等效值。 (有时称为" URL编码")。因此,为了按字面意思使用百分比字符,您必须将其编码为%25。环境变量名称%LOCALAPPDATA%变为%25LOCALAPPDATA%25等。