以 Visual Studio 2013 结尾的错误环境变量路径
Posted
技术标签:
【中文标题】以 Visual Studio 2013 结尾的错误环境变量路径【英文标题】:Wrong environmental variable path ending in Visual Studio 2013 【发布时间】:2016-04-03 10:21:18 【问题描述】:我正在处理 Autodesk FBX 文件,因此我以与 DirectX 标准环境等效的方式将环境变量添加到指向 FBX SDK 安装文件夹的系统表中。变量,设置如下:
FBXSDK_DIR = C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\
而且它工作得很好,至少在我决定下载VS2013 solution written in Japanese 之前,编译器突然抱怨包含;检查得更好,IntelliSense 现在说我的环境变量出现在包含的路径列表中,是这样的:
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2"
这导致包含是:
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2"include
...而不是:
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include
...因此抛出一个合法的错误。
现在显然,我首先想到的是它与编码和转义字符有关,但是我不知道是否可以更改设置来解决它或更复杂的问题。我有没有可能解决这个问题?无需从头开始重新制定解决方案。
编辑:这里有一些有趣的东西;如果我在 Include Directories 中写 $(FBXSDK_DIR)""
,IntelliSense 会说两条路径(由于某种原因,包含总是在列表中出现两次)现在解析为:
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include"\"\"
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include""""
如果我写$(FBXSDK_DIR)""""
,它将是:
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include"\"\"\"\"
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include""""""
【问题讨论】:
【参考方案1】:您似乎将字符 \\
与符号 \
混淆了。第二个是所谓的转义字符,它使编译器忽略代码中的下一个字符。
因此,如果您想在字符串中使用一些特殊字符,例如\
或"
,您必须编写\\
或\"
。第二个会让编译器关闭字符串。
这就是为什么
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include"\"\"\"\"
转化为
C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include""""""
编译器(或预处理器?)认为您在第一个 "
处打开了一个字符串,并转义了后面的(无效)字符。
如果您发布制动代码,将更容易看到错误。
【讨论】:
不想听起来像个混蛋,但请重新阅读我的帖子:我知道“\”是转义字符,我发布的错误不在代码中,而是在方式Visual Studio 决定解决我在系统设置中设置的环境变量。 :) 你是如何设置环境变量的?这:`$(FBXSDK_DIR) = C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2` 看起来像一个损坏的指针。 右键单击计算机 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建...它没有损坏,它在所有其他解决方案上都能完美运行。它在什么方面看起来坏了? 如果你在我上面的评论中使用表达式(在脚本或类似的东西中)你会用你的覆盖FBXSDK_DIR
中值的副本。也许您在不应该出现的地方有"
?您可以尝试使用文本编辑器手动检查您的解决方案文件。有时 Visual Studio 会弄乱它。
哦,你误会了。 "$(FBXSDK_DIR) = C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\" 不是实际的实现代码,我只是写它来解释如何调用变量以及它(通常)解析的内容到;变量名实际上只是FBXSDK_DIR
。除了将 $(FBXSDK_DIR) 放入包含项之外,我没有在 Visual Studio 中添加任何其他设置。以上是关于以 Visual Studio 2013 结尾的错误环境变量路径的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 TFS 2013 以使用 Visual Studio 2013 或 Visual Studio 2017 构建
Visual Studio中的环境变量(以Visual Studio 2013为例)
Visual Studio中的环境变量(以Visual Studio 2013为例)
如何使用Visual Studio 2013或Visual Studio 2017设置TFS 2013