Visual Studio 2010 - 如何使用系统环境变量?

Posted

技术标签:

【中文标题】Visual Studio 2010 - 如何使用系统环境变量?【英文标题】:Visual Studio 2010 - How to use System Environment Variables? 【发布时间】:2011-04-26 02:53:52 【问题描述】:

对于一个非常令人沮丧的问题,我非常感谢一些帮助或想法。根据我的经验,似乎任何时候我需要组织或更新我的解决方案/项目时,我都会意识到该程序实际上是多么的错误和糟糕。我总是不得不找到一个 hack 或因失败而陷入令人讨厌的试验,这迫使我在此过程中至少从头开始一次。

无论如何,我的问题是我从 2005 年到 2008 年一直在升级项目,现在是启动和运行 2010 年的时候了。对于我的旧项目,我曾一度决定使用系统环境变量设置为我的输出目录。

例如:

我的机器: 系统->高级设置->环境变量 3DSMAX_DEV_ROOT_32 = F:/Temp/Rampage/ 我的项目->常规: 输出目录 = $(3DSMAX_DEV_ROOT_32) 我的项目->链接器->常规: 输出文件 = $(OutDir)MyPlugin.dll

这始终适用于 Visual Studio 2005 和 2008,我仍然非常依赖它。但是,对于 2010 年,它根本行不通。如果我是唯一一个处理过这个问题的人,我会感到惊讶,但我还没有看到其他人遇到过它。其他人提到了项目环境变量,但我没有在系统变量上看到任何东西。无论如何,如果您对如何使它们起作用或知道为什么他们现在似乎完全无视它们有任何想法,我很想听听。更糟糕的是,我知道前导数字通常是禁止的,但我的 EV 有它们,而 VS 的 EV 不允许有它们。我知道一种可以绕过它的方法,但我在一个开发人员团队中,做出这种改变对每个人来说都是一个巨大的痛苦。

感谢您抽出宝贵时间阅读。

埃里克

【问题讨论】:

我更新了我的帖子以解决两个当前答案解决的问题。如果有人有任何想法,请告诉我。 【参考方案1】:

PATH 是一个非常特殊的环境变量 - 您不应该使用它来指向 VS 输出的临时目录。

请注意,默认情况下,VS 使用系统 env 中的以下环境变量,而是用它自己的覆盖它们:

PATH INCLUDE LIBPATH LIB

如果您确实希望 VS 为这些使用您的系统变量,您需要使用 /useenv 选项启动 Visual Studio:

devenv /useenv

但您仍然应该使用PATH 以外的其他变量——它真的很特别。 (我有点惊讶设置System->Advanced Settings->Environment Variables Path = C:/Temp/ 不会给您带来各种其他问题)。

【讨论】:

出于与 VS2010 和 VS2008 相同的原因,我使用名为 TFS 的系统变量 等你让他们工作还是你有同样的问题?这显然是 Visual Studio 2010 的问题。【参考方案2】:

好的,我知道这是一个迟到的答案,但我遇到了同样的问题并在此结束,因此其他人可能会发现该解决方案很有用。

问题特定于变量名称:3DSMAX_DEV_ROOT_32

Visual Studio 2010 不会扩展以数字开头的环境变量。 在 Visual Studio 2008 中并非如此。

重命名或添加具有相同值的变量THREEDSMAX_DEV_ROOT_32,该变量在项目属性中使用时将正确展开。

【讨论】:

【参考方案3】:

这也发生在我身上,它发生在全新安装 Visual Studio 2010 或任何相关库之后。

当然,首先检查是否设置了环境变量(并且是正确的)。当我从 Visual Studio 2005 转移到 2010 时,我也从 Windows XP 转移到了 Windows 7,然后一些程序安装在“Program Files (x86)”文件夹中,而不是没有“(x86)”的文件夹中。也请注意这一点!

当您右键单击您知道应该驻留在环境变量设置的路径之一中的包含文件并按“打开文件”时,Visual Studio 2010 应该会为您提供它所查看的包含目录列表。当没有读取环境变量,这部分是空的,可能会显示一些简单的东西,比如 '/include' 而不是 'C:/Program Files/YourProgram/include'。

我的解决方案相当简单,因为重新启动计算机后它就可以工作了……试试看这是否也适合你。我认为这与环境变量的激活有关,它们是在重新启动时全局设置的。因此,如果您更改了一个,则需要重新启动才能使更改生效。

【讨论】:

我的解决方案只是创建 Visual Studio EV 的....重新启动通常是我解决某些问题的问题,但我一直无法弄清楚。

以上是关于Visual Studio 2010 - 如何使用系统环境变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2010 中使用互斥锁

使用 Visual C++ 编译器 (Visual Studio 2010) 的可变数组大小出错。如何规避这个问题?

在本地运行/调试时如何使用 Visual Studio 2010 配置转换?

Visual Studio 2010 - 如何使用系统环境变量?

visual studio 2010怎么查看函数

MS Visual Studio 2010 如何使用 .asm 生成的文件