我试图设置Ogre3D应用程序,并且将“OGRE_HOME”系统变量设置为SDK的主目录。然后,我使用$(OGRE_HOME)
系统变量设置项目属性,例如Project Properties中的include目录。但是,当我尝试编译应用程序时,编译器没有找到头文件,因此我不得不“硬编码” SDK路径到项目属性。
我先使用setx
命令设置了变量,然后尝试将其移至系统变量,但无济于事。但是,我没有尝试重新启动系统。
最佳答案
MSBuild确实会扩展环境变量。 $(OGRE_HOME)
应该可以正常工作。
唯一的问题是Visual Studio会大量缓存这些环境变量的值,因此您所做的更改将不会立即反射(reflect)出来。
更改环境变量值的一般方法有两种,而VS都出错:
但是,重新启动(或注销然后重新启动)应该可以解决该问题,因为这将导致VS刷新环境变量的值。
还值得注意的是,user macros是环境变量的替代方法。 VS 2010提供了一种非常强大的方法来通过Property Manager实现这些方法。您可以使用设置创建项目属性表,然后将其附加到多个项目,以便它们都将继承这些设置。它不能在VS之外运行,但是如果您在那里进行所有开发工作,可能会非常方便。
关于c++ - 为什么Visual Studio 2010没有 “unpack”系统变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11771625/