我正在使用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""""""
答案 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}}打开一个字符串并转义以下(无效)字符。
如果您发布了制动代码,那么更容易看到错误。