C++ Visual Studio 2013中的环境变量

C++ Visual Studio 2013中的环境变量,c++,visual-studio,visual-c++,environment-variables,visual-studio-2013,C++,Visual Studio,Visual C++,Environment Variables,Visual Studio 2013,我正在尝试将我的项目包含设置为路径%OPENCV\u 246%\..\include 这将解析为路径F:\dev\opencv\u 246\build\include 但是,当设置项目包含时,该路径将不会解析,因此包含的标题将中断 我已经尝试了%OPENCV\u 246%\\..\include和$(OPENCV\u 246)\..\include,但都没有成功 直接使用路径可以修复我的include,但我希望有更好的方法通过环境变量管理路径 为了清晰起见,我在截图中添加了这两个步骤,如果有人能

我正在尝试将我的项目包含设置为路径
%OPENCV\u 246%\..\include

这将解析为路径
F:\dev\opencv\u 246\build\include

但是,当设置项目包含时,该路径将不会解析,因此包含的标题将中断

我已经尝试了
%OPENCV\u 246%\\..\include
$(OPENCV\u 246)\..\include
,但都没有成功

直接使用路径可以修复我的include,但我希望有更好的方法通过环境变量管理路径

为了清晰起见,我在截图中添加了这两个步骤,如果有人能指出我在这里遗漏的步骤,我将不胜感激

编辑:变量
OPENCV\u 246
包含值
F:\dev\OPENCV\u 246\build\x86\vc11


这听起来与我的问题类似,那就是让VS2013确认我对环境变量(在我的例子中是QTDIR)所做的更改。即使在重新启动和关闭之后,它仍然顽固地保留旧值!!(如果您要编辑项目设置,点击“宏”按钮,然后向下滚动列表以查找例如“$(QTDIR)”,则可以看到该值)

这表明VS2010大幅降低了价值,但2013年似乎更为激烈

在为旧路径查找一些文件之后,VS2013似乎会在.vcxproj.user文件中缓存环境变量。我一开始不知道它是怎么进来的

所以我删除了条目,关闭了解决方案,在写字板中再次检查了文件,以确保条目没有被放回。然后我重新打开了解决方案,但旧值仍然存在于宏列表中

结束VS似乎已经成功了。现在它似乎有了正确的路径-虽然我确信我在第一次打开解决方案后检查了,并且QTDIR根本不在宏列表中-也许我很困惑

好吧,现在一切似乎都在运行,我的项目构建并链接到我的Qt库,没有任何抱怨:-)


而且,vcxproj.user文件中的条目还没有返回。所以我还是不知道它是怎么进去的。可能是我在以前版本的VS中做了一些事情导致了它。

Dev studio无法识别自启动以来已更改的任何环境变量,因此如果更改了一个,则需要重新启动(Dev studio,而不是计算机)


在项目输出目录中查找您的\u程序\u name.log文件。它包含完整的生成日志和编译器命令行参数。您可以看到宏是如何展开的,并了解问题所在。使用$(OPENCV_246)是引用环境变量的正确方法。如果不记录变量实际包含的内容,则无法诊断。重新启动我的计算机并使用完整路径构建,然后切换回
OPENCV_246
环境变量,该变量现在似乎可以工作。我测试了添加一个新的环境变量
OPENCV\u TEST
,该变量指向相同的路径,同样有效。我不确定是什么导致了这种行为。