起因:我想要在ue5中删除一个C++类,然后发现非常麻烦。(不过只能慢慢习惯了。)

  1. BUG复现过程:
    新建一个ue5空项目,然后创建一个新的C++类。如图所示:
    image.png
    image.png

但是我们悲催的发现,不能在编辑器删除。。。
image.png

1.1 从项目中删除我们创建的C++类
首先我们关闭Editor,然后再vs中删除我们创建的 MyGameModeBase.h 和 MyGameModeBase.cpp
image.png

1.2 删除项目目录中的相关 头文件 & cpp文件
image.png
image.png

1.3 重新编译项目
按理来说,当我们移除了项目的相关文件,并将这些文件从项目目录中删除后,重新编译项目,就可以删除C++类了。但是问题就出在这里(当然,如果各位没有出问题最好O(∩_∩)O)

回到项目目录,打开 vs解决方案 .sln文件:
image.png
CRTL + shift + B 生成解决方案:
image.png

项目很快(毕竟空项目)重新生成,一切都是那么美好,直到 vs提示 1失败
image.png
image.png

  1. 解决方案
    最后发现应该是要修改引擎的源码,我们打开 vs,在解决方案下找到 Engine -> UE5 -> Source -> Developer -> LowLevelTestsRunner -> LowLevelTestsRunner.build.cs 这个C#配置脚本
    将 Catch2.Version 修改为 "v3.4.0",然后重新编译,就可以成功编译了~
    image.png
    再次生成解决方案,编译成功!
    image.png
    运行项目,发现刚才创建的C++类已经被成功删除:
    image.png编辑器内无法查询到
    public和private两个存放C++类的目录在vs中也是空的:
    image.png

记录一次删除C++类所踩的坑。


Happy_Feet
1 声望0 粉丝

业余程序员,喜欢音乐和睡觉