错误的环境变量路径以Visual Studio 2013结尾

时间:2016-04-03 10:21:19

标签: c++ visual-studio visual-studio-2013 encoding escaping

我正在使用Autodesk FBX文件,所以我已经在系统表中添加了一个环境变量,该变量指向FBX SDK intallation文件夹,其方式与DirectX标准环境相同。变量,设置如下:

FBXSDK_DIR = C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\

它工作得很好,至少在我决定下载VS2013 solution written in Japanes e之前,突然编译器抱怨包含内容;检查更好,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

......因此抛出了合法的错误。

现在很明显,我想到的第一件事就是它与编码和转义字符有关,但我不知道我是否可以更改设置来解决它或更复杂的东西。我有可能解决这个问题吗?无需从头开始重新构建解决方案,即。

编辑:这里有趣的事情;如果我在包含目录中的$(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 个答案:

答案 0 :(得分:0)

您似乎将字符\与符号\混淆。第二个是所谓的转义字符,它使编译器忽略代码中的下一个字符。

因此,如果您想在字符串中使用某些特殊字符,例如"\\,则必须编写\"C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include"\"\"\"\" 。第二个让编译器关闭String。

这就是为什么

C:\Program Files\Autodesk\FBX\FBX SDK\2016.1.2\include""""""

转换为

"

编译器(或预处理器?)认为您在第一个{{1}}打开一个字符串并转义以下(无效)字符。

如果您发布了制动代码,那么更容易看到错误。