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
为啥专门把红色的错误提示模糊掉
看2楼ERROR 按提示是说你的 SSlAiRayInfoWidget.h 的第 15 行缺少 int。感觉你这是基本的 C++ 语法错误。
建议你把 SSlAiRayInfoWidget.h 和 SSlAiRayInfoWidget.cpp 贴上来,这样
#include "Engine.h"
int GetErrorCode()
{
return 6;
}
.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
rrfetch 发表于 2019-9-7 23:28
按提示是说你的 SSlAiRayInfoWidget.h 的第 15 行缺少 int。感觉你这是基本的 C++ 语法错误。
建议你把 SSl ...
已经贴出来了,但是我对比过之前创建的文件,一样的,但是这个创建的就是报错 感觉 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" }); 说老实话,这种问完了就没消息了,也不知道最后是成功解决了问题,还是失败了的情况,是最打击回答的人的。
一个人花时间和精力来回答,肯定希望,如果以后如果有人碰到同样的问题,搜到这里,那么他也能知道怎么解决。
现在除了提问的,其它人完全不知道结果(我也不知道,反正在我电脑上一切 OK),是不是应该花时间尝试一下。
完全白费劲 我以前推崇《提问的智慧》,本论坛也有 https://www.engineworld.cn/thread-1584-1-1.html,但后来看多了,发现这就是个悖论:
会仔细读《提问的智慧》的人,也是那种会仔细读文档和代码的人,他本来就很少需要提问,大多数问题其实文档上写的清清楚楚。
那些提问的人,一般他也不会读什么《提问的智慧》... ...
页:
[1]
2