cocos2d-x-3.15新建项目并运行成功但代码提示‘cocos2d’不明确

新建项目,*.sln打开方式VS2015,运行成功。没有额外添加任何代码。
但是,在AppDelegate.cpp、HelloWorldScene.cpp中,VS2015提示
1、‘cocos2d’不明确
2、不允许使用不完整的类型
3、class’‘cocos2d::Menu’‘没有成员’‘setPosition’‘,类似地class ’‘HelloWorld’‘没有成员’‘addChild’‘
4、返回值类型与函数值类型不匹配

问题截图

1、‘cocos2d’不明确

2、不允许使用不完整的类型

3、class’‘cocos2d::Menu’‘没有成员’‘setPosition’‘,类似地class ’‘HelloWorld’‘没有成员’‘addChild’‘

4、返回值类型与函数值类型不匹配

这些提示对项目成功运行没有影响,但是对以后继续添加代码有影响吗?在VS2015中如何设置,能够去掉这些红色波浪线?

我也遇到了这个问题,我用的是cocos3.16,vs2017。
请问楼主找到解决方案了吗?
或者哪个大神有什么解决方案?

改一下 IntelliSense 的配置项,禁用错误报告,禁用波浪曲线… 。 设置项在 工具 -> 选项 -> 文本编辑器 -> C/C++ -> 高级

那真正的语法错误等报错都看不到了啊,这样并没有解决到根本问题吧?

嗯,没根本解决,只是个暂时的方法,我也遇到过类似情况,有时候 IntelliSense 的感知正确,有时候感知出现误判。

推测在最初配置工程时,只是考虑了在特定的一个vs版本,编译,IntelliSense 都正确,vs版本变化了,内部规则变化,就导致了误判,vs版本多,不好维护。后续的解决办法就是,vs工程用cmake生成,只维护一个cmake,不再维护各个IDE的工程文件,预计下一个版本3.17有这个功能

真正的语法报错,编译的时候才会知道,是不太方便

找到这个问题的根源了
#include <cocos2d.h> 的前边加上:

#ifdef WIN32
#include <Winsock2.h>
#include <Windows.h>
#endif // WIN32
#include <cocos2d.h>

就不会有报错了

3赞

兄弟,亲测这是个好办法,是什么原理来着:blush: