【问题标题】:Environment variables in Visual Studio 2013Visual Studio 2013 中的环境变量
【发布时间】:2013-12-25 15:25:17
【问题描述】:

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

这会解析为路径F:\dev\opencv_246\build\include

但是,在设置项目包含时,该路径将无法解析,因此包含的标头会中断。

%OPENCV_246%\..\..\include$(OPENCV_246)\..\..\include 我都试过了,但都没有成功。

使用路径直接修复我的包含,但我希望有更好的方式通过环境变量管理路径。

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

编辑:变量OPENCV_246 包含值F:\dev\opencv_246\build\x86\vc11

【问题讨论】:

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

标签: c++ visual-studio visual-c++ environment-variables visual-studio-2013


【解决方案1】:

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

Here 表明 VS2010 的价值很高,但 2013 似乎更热衷!

在对旧路径进行一些 FindInFiles 之后,VS2013 似乎将环境变量缓存在您的 .vcxproj.user 文件中。我不知道它是怎么进来的。

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

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

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

而且,vcxproj.user 文件中的条目还没有回来。所以我还是不知道它是怎么进来的。也许我在以前版本的 VS 中做了一些事情导致它发生了一段时间......

【讨论】:

    【解决方案2】:

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

    https://superuser.com/questions/107521/why-are-changes-to-my-path-not-being-recognised

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      • 2015-07-03
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多