实现Piccolo源码解读第二期:反射系统时遇到的问题

发布于

感谢工作者制作games104课程、开发piccolo小引擎供我们学习;

感谢王希老师、靓仔的讲解、解读。

这是一门信息密度比较大的课程,在这之前本人一直用的是visual studio进行开发,所以对Piccolo引擎用到的工具、技术都不是很了解。在半知半解的情况下跟着靓仔的源码解读课程,把第一节课上的代码实现了。

实现源码解读第二期:反射系统课程上的教学代码时遇到了以下问题:视频10分钟左右,靓仔给LuaCompnent类添加了set,get函数,这两个函数在.h文件中的声明、.cpp文件中的定义都加了static关键字,并且没有报错。而我这样写的时候:.cpp文件中static关键字在vscode中显示错误,vscode终端运行piccoloeditoer.exe切换到编辑者模式报错。而这两个static在vs2022环境里,显示正常,也能正常运行并切换

我在网上搜索了该错误,有答案说头文件中函数加了static关键字,源文件不应该加static关键字。但我比较不解的是,靓仔VSCode中都加了,以及我的VS2022环境也加了,没有出现问题。而我的VSCode环境中提示错误。是我的VScode配置不对吗?对VScode使用不是很了解,也不太知道如何在VScode编译,希望开发者大大解答一下。

6
评论 5
收藏
  • mall
    如果你能编译通过应该就和static关键字无关了,你在vs里调试看看崩在哪里
    1
    展开1条回复
  • 跟static没关系, 这个是编译器的规则不同。 仔细检查下lua_script字段,那里抄错了容易崩
  • ShenMian
    ShenMian
    遇到错误时可以贴上报错信息方便判断原因, 你的 VSCode 使用的编译器应该不是 MSVC 吧?
  • Lazy_V
    Lazy_V
    可能是 MSVC 和 MinGW gcc 在预编译期对于你文件命名的处理规则不同,我观察到你的 .h 文件实际命名是小写,但是你 #include 的时候却存在大写。