EnTT and Unreal 教程 https://entt.docsforge.com/master/entt-and-unreal-engine/#table-of-contents BwdYeti/EnTTUE4 https://github.com/BwdYeti/EnTTUE4 UE4 C++ 教程 https://docs.unrealengine.com/4.27/zh-CN/ProgrammingAndScripting/ProgrammingWithCPP/IntroductionToCPP/ UE4 第三方库 教程 https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/BuildTools/UnrealBuildTool/ThirdPartyLibraries/ UE4 第三方库 教程 https://unreal.blog/how-to-include-any-third-party-library HeyZoos/EnttUnrealTemplate https://github.com/HeyZoos/EnttUnrealTemplate bw2012/ue4_enable_c++17.txt https://gist.github.com/bw2012/069bcb43d0983217dc36f782fc2f1bcc
本来打算在 UE4 上部署 EnTT,但是失败了,这应该是一篇失败记录hhh
一开始我是直接把
PCHUsage = PCHUsageMode.NoSharedPCHs;
PrivatePCHHeaderFile = "<PCH filename>.h";
CppStandard = CppStandardVersion.Cpp17;
放到了 build 的构造函数里面 比如我的游戏名叫 MUDTest,则 MUDTest.Build.cs 我写为
using UnrealBuildTool;
public class MUDTest : ModuleRules
{
public MUDTest(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
PrivateDependencyModuleNames.AddRange(new string[] { });
PCHUsage = PCHUsageMode.NoSharedPCHs;
PrivatePCHHeaderFile = "<PCH filename>.h";
CppStandard = CppStandardVersion.Cpp17;
}
}
然后我新建了一个继承 Actor 的类,建好了之后这个类却不显示,Output 为
Message dialog closed, result: Yes, title: Message, text: Successfully added class ‘MyActor’, however you must recompile the ‘MUDTest’ module before it will appear in the Content Browser. Failed to generate project files.
说我需要重新构建工程,我重新构建了之后报了错,构建函数返回错误,所以就是说明我的构建函数这么写是不行的
注释掉我新加的三行,重新构建,没有报错,编辑器里就会显示新建好的类了
这样说来,编辑器不显示新建类,既可能是因为这个类继承 None,也可能是因为构建错误
之后看了 BwdYeti/EnTTUE4 才知道要改成什么样hhh 本来我确实是知道 PCH filename 该改的,但是我不知道 PCH 是个啥,所以就没管
但是我看到别人这么写的话,感觉就是工程名
using UnrealBuildTool;
public class EnTTUE4 : ModuleRules
{
public EnTTUE4(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
PrivatePCHHeaderFile = "PCH_EnTTUE4.h";
CppStandard = CppStandardVersion.Cpp17;
因此对于我自己就是
using UnrealBuildTool;
public class MUDTest : ModuleRules
{
public MUDTest(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
PrivateDependencyModuleNames.AddRange(new string[] { });
PCHUsage = PCHUsageMode.NoSharedPCHs;
PrivatePCHHeaderFile = "PCH_MUDTest.h";
CppStandard = CppStandardVersion.Cpp17;
}
}
报错为:
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 MSB3073 命令““D:\Tools\Epic Games\Engine\UE_4.27\Engine\Build\BatchFiles\Rebuild.bat” MUDTestEditor Win64 Development -Project=“D:\Documents\UnrealProject\MUDTest\MUDTest.uproject” -WaitMutex -FromMsBuild”已退出,代码为 -1。 MUDTest D:\Tools\VisualStudioEnterprise2022\IDE\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets 50 错误 C1083 无法打开包括文件: “D:/Documents/UnrealProject/MUDTest/Source/MUDTest/PCH_MUDTest.h”: No such file or directory MUDTest D:\Documents\UnrealProject\MUDTest\Intermediate\Build\Win64\UE4Editor\Development\MUDTest\PCH.MUDTest.h 285
之后的问题就是很明显需要新建头文件了 报错很明确,那就好办了
看 BwdYeti/EnTTUE4 中 PCH filename.h 只需要一句话
#pragma once
那就是直接建一个空的头文件就行了
建完头文件还有错误
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK1104 无法打开文件“D:\Documents\UnrealProject\MUDTest\Binaries\Win64\UE4Editor-MUDTest-0001.dll” MUDTest D:\Documents\UnrealProject\MUDTest\Intermediate\ProjectFiles\LINK 1 错误 MSB3073 命令““D:\Tools\Epic Games\Engine\UE_4.27\Engine\Build\BatchFiles\Rebuild.bat” MUDTestEditor Win64 Development -Project=“D:\Documents\UnrealProject\MUDTest\MUDTest.uproject” -WaitMutex -FromMsBuild”已退出,代码为 -1。 MUDTest D:\Tools\VisualStudioEnterprise2022\IDE\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets 50
啊……这个时候我才看到其实官网教程也有说,如果没有就新建一个 完蛋,是我英文意识没有跟上
我看官方说的是,如果没有就新建一个,并且在新建的头文件中写:
#pragma once
#include "CoreMinimal.h"
但是还是不行……
后面看到他这个布局
Source
| MyGame.Target.cs
| MyGameEditor.Target.cs
|
+---MyGame
| | MyGame.Build.cs
| | MyGame.h (PCH Header file)
|
\---ThirdParty
\---EnTT
| EnTT.Build.cs
|
\---entt (GitHub repository content inside)
跟我的不一样的地方在于,他写的是
MyGame.h (PCH Header file)
而我的是
MyGame.h PCH_MyGame.h
太顶了,原来他的意思是 PCH 就是那个项目创建时的头文件啊
改好了之后,嗯……但还是有上千个错 那个无法打开 dll 的错误没了,全是语法错误 感觉是系统性的错误
跟 build.h 有关的错误为
严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E0035 #error 指令: UBT should always define WITH_UNREAL_DEVELOPER_TOOLS to be 0 or 1 MUDTest D:\Tools\Epic Games\Engine\UE_4.27\Engine\Source\Runtime\Core\Public\Misc\Build.h 83 错误(活动) E0035 #error 指令: Exactly one of [UE_BUILD_DEBUG UE_BUILD_DEVELOPMENT UE_BUILD_TEST UE_BUILD_SHIPPING] should be defined to be 1 MUDTest D:\Tools\Epic Games\Engine\UE_4.27\Engine\Source\Runtime\Core\Public\Misc\Build.h 45 错误(活动) E0035 #error 指令: Exactly one of [UE_BUILD_DEBUG UE_BUILD_DEVELOPMENT UE_BUILD_TEST UE_BUILD_SHIPPING] should be defined to be 1 MUDTest D:\Tools\Epic Games\Engine\UE_4.27\Engine\Source\Runtime\Core\Public\Misc\Build.h 338 错误(活动) E0035 #error 指令: UBT should always define IS_MONOLITHIC to be 0 or 1 MUDTest D:\Tools\Epic Games\Engine\UE_4.27\Engine\Source\Runtime\Core\Public\Misc\Build.h 132 错误(活动) E0035 #error 指令: UBT should always define IS_PROGRAM to be 0 or 1 MUDTest D:\Tools\Epic Games\Engine\UE_4.27\Engine\Source\Runtime\Core\Public\Misc\Build.h 140 错误(活动) E0035 #error 指令: UBT should always define WITH_EDITOR to be 0 or 1 MUDTest D:\Tools\Epic Games\Engine\UE_4.27\Engine\Source\Runtime\Core\Public\Misc\Build.h 67 错误(活动) E0035 #error 指令: UBT should always define WITH_ENGINE to be 0 or 1 MUDTest D:\Tools\Epic Games\Engine\UE_4.27\Engine\Source\Runtime\Core\Public\Misc\Build.h 75 错误(活动) E0035 #error 指令: UBT should always define WITH_PLUGIN_SUPPORT to be 0 or 1 MUDTest D:\Tools\Epic Games\Engine\UE_4.27\Engine\Source\Runtime\Core\Public\Misc\Build.h 91
官方教程中确实没有进一步的指示了……
再仔细看一遍,好像我代码前面有重复,要改成
using UnrealBuildTool;
public class MUDTest : ModuleRules
{
public MUDTest(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.NoSharedPCHs;
PrivatePCHHeaderFile = "MUDTest.h";
CppStandard = CppStandardVersion.Cpp17;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
PrivateDependencyModuleNames.AddRange(new string[] { });
}
}
总之,到此为止,头文件算是搞好了
那么接下来还是要学别人怎么布置了 BwdYeti/EnTTUE4 说是把 EnTT 做成插件,但是跟官方教程的布置也不一样,甚至没有 EnTT 源码放在插件里面,这我就搞不懂了。或许我不应该学他。
我想要恢复 build 文件的原状,但是即使我改成了这样
using UnrealBuildTool;
public class MUDTest : ModuleRules
{
public MUDTest(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
PrivateDependencyModuleNames.AddRange(new string[] { });
}
}
还是报错
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 MSB3073 命令““D:\Tools\Epic Games\Engine\UE_4.27\Engine\Build\BatchFiles\Rebuild.bat” MUDTestEditor Win64 Development -Project=“D:\Documents\UnrealProject\MUDTest\MUDTest.uproject” -WaitMutex -FromMsBuild”已退出,代码为 -1。 MUDTest D:\Tools\VisualStudioEnterprise2022\IDE\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets 50 错误 LNK1104 无法打开文件“D:\Documents\UnrealProject\MUDTest\Binaries\Win64\UE4Editor-MUDTest-0001.dll” MUDTest D:\Documents\UnrealProject\MUDTest\Intermediate\ProjectFiles\LINK 1
我靠……我不理解啊,这不就是最初的 build 的吗 删了构建文件重新构建也不行……
那就只能回退版本了,幸好我之前上传过 git
退出工程,terminal 打开工程文件夹,执行:
git reset --hard HEAD^
回退了版本之后再重新构建才好 然后 build 文件都是一样的 难顶
我觉得是 entt 的文档过时了 待我去看 ue4 怎么加入第三方库的文档
好像也挺简单,就只有这些
打开 Plugins - New Plugin - Third Party Library
啊……之后创建的这一大堆东西好像超出我的预料了
看了别人的教程,还需要编译 lib 文件 唉……好像有点麻烦了
然后我按照 HeyZoos/EnttUnrealTemplate 的来
第一步改 build
using UnrealBuildTool;
public class MUDTest : ModuleRules
{
public MUDTest(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.NoSharedPCHs;
PrivatePCHHeaderFile = "MUDTest.h";
CppStandard = CppStandardVersion.Cpp17;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnTT" });
PrivateDependencyModuleNames.AddRange(new string[] { });
}
}
这个是还在 range 中多写了一个 EnTT 然后我也重新构建了,直接就继续
在 Source/ThirdParty/EnTT 中拉取 EnTT
git submodule add https://github.com/skypjack/entt.git
试了一下,这个命令好像不需要加地址
然后再下载 EnTT.build.cs
呃……那还是 entt 官方的教程啊……
还是这个报错
问了别人 好吧……我知道了……原来是编辑器占用了这个 dll 把编辑器关了,再编译,就好了 我靠……我这一天都在干什么
行吧,到此为止就应该是没问题了 那其实 entt 官方的一点问题都没有hhhhh都是我的问题hhhh
之后我新建了一个 Actor 然后测试 registry
#include "TestActor.h"
#include "entt.hpp"
ATestActor::ATestActor()
{
PrimaryActorTick.bCanEverTick = false;
}
void ATestActor::BeginPlay()
{
Super::BeginPlay();
entt::registry registry;
auto entity = registry.create();
}
void ATestActor::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
发现好多报错
严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E0457 “basic_registry” 不是函数或静态数据成员 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 51 错误(活动) E0457 “basic_registry” 不是函数或静态数据成员 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\handle.hpp 329 错误(活动) E0457 “basic_registry” 不是函数或静态数据成员 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\handle.hpp 336 错误(活动) E0457 “basic_registry” 不是函数或静态数据成员 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 58 错误(活动) E0457 “basic_registry” 不是函数或静态数据成员 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 102 错误(活动) E0457 “basic_registry” 不是函数或静态数据成员 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 109 错误(活动) E0457 “connect_arg_t” 不是函数或静态数据成员 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 319 错误(活动) E0457 “connect_arg_t” 不是函数或静态数据成员 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 327 错误(活动) E0457 “sigh” 不是函数或静态数据成员 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\sigh.hpp 601 错误(活动) E0090 不允许使用返回函数的函数 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 335 错误(活动) E0091 不允许使用返回数组的函数 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\hashed_string.hpp 226 错误(活动) E0325 仅函数声明中允许内联说明符 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\enum.hpp 25 错误(活动) E0325 仅函数声明中允许内联说明符 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\entity.hpp 326 错误(活动) E0325 仅函数声明中允许内联说明符 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\entity.hpp 335 错误(活动) E0325 仅函数声明中允许内联说明符 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\observer.hpp 113 错误(活动) E2638 别名模板类型 “entt::integral_constant<>” 与 别名模板 “entt::tag” (已声明 所在行数:103,所属文件:“D:/Documents/UnrealProject/MUDTest/Source/ThirdParty/EnTT/entt/src/entt/container/…/core/type_traits.hpp”) 的重新声明中 “entt::integral_constant<>” 的上一个类型不兼容 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 103 错误(活动) E2638 别名模板类型 “std::integral_constant<, >” 与 别名模板 “entt::integral_constant” (已声明 所在行数:96,所属文件:“D:/Documents/UnrealProject/MUDTest/Source/ThirdParty/EnTT/entt/src/entt/container/…/core/type_traits.hpp”) 的重新声明中 “std::integral_constant<, >” 的上一个类型不兼容 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 96 错误(活动) E0135 命名空间 “std” 没有成员 “in_place_type_t” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\any.hpp 156 错误(活动) E0135 命名空间 “std” 没有成员 “in_place_type_t” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_info.hpp 146 错误(活动) E0135 命名空间 “std” 没有成员 “in_place_type_t” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 46 错误(活动) E0135 命名空间 “std” 没有成员 “in_place_type_t” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 101 错误(活动) E0135 命名空间 “std” 没有成员 “in_place_type_t” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 212 错误(活动) E0135 命名空间 “std” 没有成员 “string_view” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_info.hpp 41 错误(活动) E0135 命名空间 “std” 没有成员 “string_view” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_info.hpp 47 错误(活动) E0135 命名空间 “std” 没有成员 “string_view” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_info.hpp 179 错误(活动) E0842 常数 “N” 未在 类模板 “entt::meta_sequence_container_traits<std::array<Type, >>” 的模板参数列表中使用或无法从中推导 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\container.hpp 209 错误(活动) E0842 常数 “Other” 未在 类模板 “entt::value_list_cat<entt::value_list<…>, entt::value_list<…>, List…>” 的模板参数列表中使用或无法从中推导 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 353 错误(活动) E0842 常数 “Other” 未在 类模板 “entt::value_list_element<0Ui64, entt::value_list<, …>>” 的模板参数列表中使用或无法从中推导 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 311 错误(活动) E0842 常数 “Other” 未在 类模板 “entt::value_list_element<Index, entt::value_list<, …>>” 的模板参数列表中使用或无法从中推导 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 302 错误(活动) E0842 常数 “Value” 未在 类模板 “entt::value_list_cat<entt::value_list<…>, entt::value_list<…>, List…>” 的模板参数列表中使用或无法从中推导 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 353 错误(活动) E0842 常数 “Value” 未在 类模板 “entt::value_list_cat<entt::value_list<…>>” 的模板参数列表中使用或无法从中推导 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 363 错误(活动) E0842 常数 “Value” 未在 类模板 “entt::value_list_element<0Ui64, entt::value_list<, …>>” 的模板参数列表中使用或无法从中推导 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 311 错误(活动) E0842 常数 “Value” 未在 类模板 “entt::value_list_element<Index, entt::value_list<, …>>” 的模板参数列表中使用或无法从中推导 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 302 错误(活动) E2783 应为逗号(此模式未启用 static_assert 的单参数版本) MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\container\dense_map.hpp 245 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\any.hpp 156 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\compressed_pair.hpp 238 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\hashed_string.hpp 217 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_info.hpp 146 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\utility.hpp 63 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\handle.hpp 329 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\handle.hpp 336 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 51 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 58 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 102 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 109 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\view.hpp 844 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 46 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 101 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 212 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 327 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 335 错误(活动) E0018 应输入“)” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\sigh.hpp 601 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\any.hpp 156 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\compressed_pair.hpp 238 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\hashed_string.hpp 217 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\hashed_string.hpp 226 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_info.hpp 146 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\utility.hpp 63 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\view.hpp 844 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 46 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 101 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 212 错误(活动) E0065 应输入“;” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 335 错误(活动) E0079 应输入类型说明符 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\hashed_string.hpp 226 错误(活动) E0079 应输入类型说明符 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 335 错误(活动) E0786 成员 “entt::basic_any<Len, Align>::in_place_type_t [其中 Len=16Ui64, Align=8Ui64]” 不是有效的类成员模板 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\any.hpp 156 错误(活动) E0786 成员 “entt::meta_any::in_place_type_t” 不是有效的类成员模板 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 212 错误(活动) E0786 成员 “entt::meta_associative_container::in_place_type_t” 不是有效的类成员模板 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 101 错误(活动) E0786 成员 “entt::meta_sequence_container::in_place_type_t” 不是有效的类成员模板 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 46 错误(活动) E0786 成员 “entt::type_info::in_place_type_t” 不是有效的类成员模板 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_info.hpp 146 错误(活动) E1696 无法打开 源 文件 “TestActor.generated.h” MUDTest D:\Documents\UnrealProject\MUDTest\Source\MUDTest\TestActor.h 7 警告 C26495 未初始化变量 std::exception_ptr::_Data1。始终初始化成员变量(type.6)。 MUDTest D:\Tools\VisualStudioEnterprise2022\IDE\VC\Tools\MSVC\14.30.30705\include\exception 212 警告 C26495 未初始化变量 std::exception_ptr::_Data1。始终初始化成员变量(type.6)。 MUDTest D:\Tools\VisualStudioEnterprise2022\IDE\VC\Tools\MSVC\14.30.30705\include\exception 216 警告 C26495 未初始化变量 std::exception_ptr::_Data1。始终初始化成员变量(type.6)。 MUDTest D:\Tools\VisualStudioEnterprise2022\IDE\VC\Tools\MSVC\14.30.30705\include\exception 224 警告 C26495 未初始化变量 std::exception_ptr::_Data2。始终初始化成员变量(type.6)。 MUDTest D:\Tools\VisualStudioEnterprise2022\IDE\VC\Tools\MSVC\14.30.30705\include\exception 212 警告 C26495 未初始化变量 std::exception_ptr::_Data2。始终初始化成员变量(type.6)。 MUDTest D:\Tools\VisualStudioEnterprise2022\IDE\VC\Tools\MSVC\14.30.30705\include\exception 216 警告 C26495 未初始化变量 std::exception_ptr::_Data2。始终初始化成员变量(type.6)。 MUDTest D:\Tools\VisualStudioEnterprise2022\IDE\VC\Tools\MSVC\14.30.30705\include\exception 224 错误(活动) E0077 此声明没有存储类或类型说明符 MUDTest D:\Documents\UnrealProject\MUDTest\Source\MUDTest\TestActor.h 12 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_info.hpp 40 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_info.hpp 52 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 88 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 95 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 284 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 302 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 302 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 311 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 311 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 331 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 331 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 353 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 353 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\type_traits.hpp 363 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 118 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\view.hpp 89 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\view.hpp 89 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\view.hpp 94 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\view.hpp 94 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\container.hpp 209 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 979 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\node.hpp 199 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\utility.hpp 196 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\utility.hpp 239 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\utility.hpp 346 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\utility.hpp 389 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 52 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 56 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 82 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 90 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 99 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 126 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 138 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 157 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 187 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 211 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 318 错误(活动) E1598 此处不允许使用“auto” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 326 错误(活动) E0135 类 “entt::meta_associative_container” 没有成员 “key_only” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 1786 错误(活动) E0135 类 “entt::meta_sequence_container” 没有成员 “value_type” MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 1587 错误(活动) E0135 类 “UObject” 没有成员 “BeginPlay” MUDTest D:\Documents\UnrealProject\MUDTest\Source\MUDTest\TestActor.cpp 18 错误(活动) E0135 类 “UObject” 没有成员 “Tick” MUDTest D:\Documents\UnrealProject\MUDTest\Source\MUDTest\TestActor.cpp 27 错误(活动) E0441 缺少 类模板 “entt::as_group” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 102 错误(活动) E0441 缺少 类模板 “entt::as_group” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 109 错误(活动) E0441 缺少 类模板 “entt::as_view” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 51 错误(活动) E0441 缺少 类模板 “entt::as_view” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\helper.hpp 58 错误(活动) E0441 缺少 类模板 “entt::basic_handle” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\handle.hpp 329 错误(活动) E0441 缺少 类模板 “entt::basic_handle” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\handle.hpp 336 错误(活动) E0441 缺少 类模板 “entt::basic_hashed_string” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\hashed_string.hpp 217 错误(活动) E0441 缺少 类模板 “entt::basic_hashed_string” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\hashed_string.hpp 226 错误(活动) E0441 缺少 类模板 “entt::basic_view” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\entity\view.hpp 844 错误(活动) E0441 缺少 类模板 “entt::compressed_pair” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\compressed_pair.hpp 238 错误(活动) E0441 缺少 类模板 “entt::delegate” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 319 错误(活动) E0441 缺少 类模板 “entt::delegate” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 327 错误(活动) E0441 缺少 类模板 “entt::delegate” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\delegate.hpp 335 错误(活动) E0441 缺少 类模板 “entt::overloaded” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\core\utility.hpp 63 错误(活动) E0441 缺少 类模板 “entt::sink” 的参数列表 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\signal\sigh.hpp 601 错误(活动) E1670 非成员函数上不允许使用类型限定符 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 1587 错误(活动) E1670 非成员函数上不允许使用类型限定符 MUDTest D:\Documents\UnrealProject\MUDTest\Source\ThirdParty\EnTT\entt\src\entt\meta\meta.hpp 1786
感觉应该是识别不了 C++17 的语法?但是我又能咋办呢,build 文件和项目属性里面都设置了 C++17
或许要这是 UE4 的构建方法的问题 但是我根据 bw2012/ue4_enable_c++17.txt 做了也不行……那我就不知道了……啊……想放弃了
|