说一说为了能在蓝图项目中加代码并让引擎编译成功踩的坑

环境:
Win10 1703 x64 专业版

UE4.17.2
VS2017

官网下EpicGame的launcher,在里面选UE4版本在线下载安装

vs2017也是正常安装,只是有些组件要选上安装

UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第1张图片

如图
把“使用C++的游戏开发”选上,在右面选上“Unreal Engine 安装程序"
如果没记错的话其上方的”Windows 8.1 SDK 和 UCRT SDK“也会自动选上
(如果没有,手动勾选上)

这样安装就可以了

之前因为编译不成功,最后重装了系统
这里要说一下,原先是1803的win10系统,本来就会莫名卡顿,所以正好重装了1703的系统

这样,随便在UE4中新建一个蓝图项目
UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第2张图片

起个名字,点创建项目

UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第3张图片

在文件菜单中新建C++类
建个Actor吧
UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第4张图片

默认的名字就行,点击创建类
UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第5张图片
编译需要一些时间,而安装完UE4,第一次在项目中建代码进行编译时,好像时间会比较长,而以后再弄就短了
UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第6张图片
如下图显示编译完成,就算OK了,而且会自动打开VS,在里面打开你新建的那个类的代码
UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第7张图片

其实很简单按这个正常流程走没问题

但是这个问题确折腾了我几天,还重装了系统,VS2015 2017 都试了……

好吧,咱来看看如果编译不成功是啥样(现在我可以随意复现这个问题)

同样,新建一个蓝图项目,起名叫Test
UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第8张图片

依然按照上面的流程创建一个c++代码
UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第9张图片
如上图,编译失败

就是这个问题困扰了我这么多天

今天才发现,是自己踩进的一个巨坑而不自知

那就是:

项目名不要起"Test"!

项目名不要起“Test“!

项目名不要起"Test"!

重要的事情说N遍

不知道什么原理,项目名起为Test,就会这样

而起别的就没事

我F#@($%)(#@*#@&^……

而且一旦编译失败

关了UE4再打开这个项目,就再也打不开了

会冒出如下提示
UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第10张图片

选择是(Y)则再冒出一个提示
UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第11张图片

然后就没有然后了

其实这几天就是我一直在执着的新建名为Test的项目,所以怎么弄也不行……

还有说项目所在文件路径不能有中文,不然也会有这个问题

那我建一个名为”项目“的蓝图项目

UE4.17.2 + VS2017,在蓝图项目中添加C++代码编译失败问题_第12张图片
果然失败

所以总结:

1.建的项目路径不要有中文

2.建的项目一定不要起名为"Test"