我正在尝试将项目包含设置为路径%OPENCV_246%\..\..\include
这解析为路径F:\dev\opencv_246\build\include
但是,在设置项目包含时,该路径将无法解析,因此包含的标题会中断。
我已经尝试了%OPENCV_246%\..\..\include
和$(OPENCV_246)\..\..\include
但没有运气。
使用路径直接修复我的包含,但我希望有一种更好的方法来管理环境变量的路径。
在截图中我为了清晰起见添加了两者,如果有人能指出我在这里缺少的步骤,我会很感激。
编辑:变量OPENCV_246
包含值F:\dev\opencv_246\build\x86\vc11
答案 0 :(得分:15)
Dev Studio将无法识别自启动以来已更改的任何环境变量,因此如果您更改了一个,则需要重新启动(Dev studio,而不是计算机)。
https://superuser.com/questions/107521/why-are-changes-to-my-path-not-being-recognised
答案 1 :(得分:4)
这听起来与我的问题类似,后者让VS2013承认我对环境变量所做的更改(在我的情况下是QTDIR)。即使在重启和关机后,它仍然坚持旧的价值! (如果您要编辑项目设置,可以看到该值,点击“宏”按钮,然后向下滚动列表以查找例如“$(QTDIR)”)
Here这表明VS2010的价值很大,但2013年似乎更加敏锐!
在旧路径的一些FindInFiles之后,似乎VS2013在.vcxproj.user文件中缓存环境变量。我不知道它是如何进入那里的。
所以我删除了该条目,关闭了解决方案,再次在写字板中检查了该文件,以确保该条目没有被放回。然后我重新打开了解决方案,但旧值仍然< / em>在宏列表中!
关闭VS似乎已经成功了。现在它似乎有了正确的道路 - 虽然我确定在我第一次打开解决方案后检查了QTDIR根本不在宏列表中 - 也许我很困惑......
嗯,这一切似乎现在都在工作,我的项目构建并链接到我的Qt库而没有抱怨: - )
而且,vcxproj.user文件中的条目还没有回来。所以我仍然不知道它是如何进入那里的。也许我在VS的早期版本中做了一些事情导致它...