【问题标题】:Environment variable overridden in Visual Studio?Visual Studio 中重写的环境变量?
【发布时间】:2014-10-02 11:15:15
【问题描述】:

我正在使用 Visual Studio Express 2013 并尝试编译其他人的代码。文档告诉我在命令行中设置环境变量 QTDIR,然后从该终端启动 VS。但是编译器仍然认为 QTDIR 是它原来的样子,而不是我在命令行中指定的。

我尝试重新启动计算机并再次执行此操作,但结果没有改变。我查看了项目属性,但没有发现似乎覆盖此变量的任何内容。当我在对话框(例如编辑附加包含目录对话框)中单击“宏>>”按钮时,它说 QTDIR 是它原来的样子。 (奇怪的是:这只发生在解决方案中的一个项目上;当我从其他项目中打开 Macros>> 时,QTDIR 是我在命令行中指定的!)

所以我想知道是否有一些东西可以在 Visual Studio 中覆盖这样的环境变量。谢谢!

  • 编辑:令人困惑的部分是当我查看项目的属性页时,Common Properties >> User Macros 下并没有任何定义。

【问题讨论】:

  • 好的,这是一年前的事情,但我通过删除缓存的解决方案文件(保留真正的 sln 文件!)并重新编译来解决这个问题。然后我就可以设置变量了。

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


【解决方案1】:

我只能告诉你 VS 2010,但在那一个中​​,可以在 Project Properties > Configuration Properties > C/C++ > Preprocessor > Preprocessor Definitions 中基于每个项目定义宏。你可以看看那里。

【讨论】:

    【解决方案2】:

    听起来您的项目中有一个用户定义的 QTDIR 宏需要删除。

    尝试以下方法:

    1) 在 VS2013 中打开你的解决方案

    2) 前往View >> Other Windows >> Property Manager打开物业管理器

    现在您将看到项目、配置和属性表的层次结构。您需要删除的用户宏将在这些属性表之一中设置(可能以 .user 结尾)。

    3) 打开每个属性表(一次一个!),然后在Common Properties >> User Macros 下找到 QTDIR 宏。如果它在那里,选择它并点击删除宏。

    希望这会有所帮助!

    来源:http://msdn.microsoft.com/en-us/library/669zx6zc.aspx

    【讨论】:

    • 哦,谢谢你的回答——但我忘了提到我查看了每个propersheet及其“用户宏”页面,那里什么都没有,这是令人困惑的部分。对此感到抱歉。
    猜你喜欢
    • 2013-12-25
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    相关资源
    最近更新 更多