dubaiworld 发表于 2019-9-7 18:40:23

UE4 SlateWidget创建C++文件hot reload失败问题

UE4 SlateWidget创建C++文件hot reload失败,并且重新打开VS进行编译的时候报错,需要怎么解决,反正这个有时候会出现这样的错误,有时又不会,今天就一直出错搞不定



补充内容 (2019-9-23 10:14):
问题暂时解决了,报错不管,这个时候文件已经创建好了,关引擎,去到vs中,在所创建的头文件中加上这个头文件:#include "DeclarativeSyntaxSupport.h"

rrfetch 发表于 2019-9-7 19:53:34

为啥专门把红色的错误提示模糊掉

dubaiworld 发表于 2019-9-7 22:02:29


dubaiworld 发表于 2019-9-7 22:03:09

rrfetch 发表于 2019-9-7 19:53
为啥专门把红色的错误提示模糊掉

看2楼ERROR

rrfetch 发表于 2019-9-7 23:28:03

按提示是说你的 SSlAiRayInfoWidget.h 的第 15 行缺少 int。感觉你这是基本的 C++ 语法错误。
建议你把 SSlAiRayInfoWidget.h 和 SSlAiRayInfoWidget.cpp 贴上来,这样

#include "Engine.h"
int GetErrorCode()
{
   return 6;
}

dubaiworld 发表于 2019-9-8 11:57:33

.h文件
// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Widgets/SCompoundWidget.h"

/**
*
*/
class SLAICOURSE_API SSlAiRayInfoWidget : public SCompoundWidget
{
public:
        SLATE_BEGIN_ARGS(SSlAiRayInfoWidget)
        {}
        SLATE_END_ARGS()

        /** Constructs this widget with InArgs */
        void Construct(const FArguments& InArgs);
};


.cpp文件
// Fill out your copyright notice in the Description page of Project Settings.

#include "SSlAiRayInfoWidget.h"
#include "SlateOptMacros.h"


BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION
void SSlAiRayInfoWidget::Construct(const FArguments& InArgs)
{
       
        /*
        ChildSlot
        [
               
        ];
        */
}
END_SLATE_FUNCTION_BUILD_OPTIMIZATION

dubaiworld 发表于 2019-9-8 11:59:13

rrfetch 发表于 2019-9-7 23:28
按提示是说你的 SSlAiRayInfoWidget.h 的第 15 行缺少 int。感觉你这是基本的 C++ 语法错误。
建议你把 SSl ...

已经贴出来了,但是我对比过之前创建的文件,一样的,但是这个创建的就是报错

rrfetch 发表于 2019-9-8 19:06:00

感觉 SLATE_BEGIN_ARGS 和 SLATE_END_ARGS 展开出错了。在我的 4.21 版本里,是 Engine.h 里才有这个 macro 的。
你试一下把#include "CoreMinimal.h" 改为 #include "Engine.h" 看看。

再就是 Build.cs 里的 Slate 和 SlateCore 模块要确认加上了
PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

rrfetch 发表于 2019-9-13 14:59:18

说老实话,这种问完了就没消息了,也不知道最后是成功解决了问题,还是失败了的情况,是最打击回答的人的。
一个人花时间和精力来回答,肯定希望,如果以后如果有人碰到同样的问题,搜到这里,那么他也能知道怎么解决。
现在除了提问的,其它人完全不知道结果(我也不知道,反正在我电脑上一切 OK),是不是应该花时间尝试一下。
完全白费劲

rrfetch 发表于 2019-9-13 15:04:04

我以前推崇《提问的智慧》,本论坛也有 https://www.engineworld.cn/thread-1584-1-1.html,但后来看多了,发现这就是个悖论:
会仔细读《提问的智慧》的人,也是那种会仔细读文档和代码的人,他本来就很少需要提问,大多数问题其实文档上写的清清楚楚。
那些提问的人,一般他也不会读什么《提问的智慧》... ...
页: [1] 2
查看完整版本: UE4 SlateWidget创建C++文件hot reload失败问题