Cocos2dx 3.x包含ext库报错解决
之前使用cocos2dx 3.6版本中用到了ext库中的一些东西,使用visual studio 2013,编译的时候报错:
无法打开包括文件:“extensions/ExtensionMacros.h”: No such file or directory
最终解决是右击项目-属性-配置属性-C/C++-附加包含目录,添加包含$(EngineRoot)
解决思路如下:
想了一下,打开项目路径,发现项目路径/cocos/extensions/下是有ExtensionMacros.h这个文件的那么就是项目包含路径的配置不对。
右击项目-属性-配置属性-C/C++-附加包含目录,点开后发现里面包含了:
$(EngineRoot)cocos\audio\include
$(EngineRoot)external
$(EngineRoot)external\chipmunk\include\chipmunk
$(EngineRoot)extensions
... ...
宏EngineRoot指的是项目路径/cocos/
也就是说,cocos默认生成的项目确实是把大部分库都包含了,但是没有把$(EngineRoot)包含进来,导致项目不会以项目路径/cocos/路径搜索,当然也可能是官方忘记把部分文件中的extensions/ExtensionMacros.h改为ExtensionMacros.h。
究竟是什么原因导致这个问题不得而知,不过最简单的解决方法即右击项目-属性-配置属性-C/C++-附加包含目录,添加包含$(EngineRoot)