IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> [ESC] EnTT 学习记录 2 -> 正文阅读

[游戏开发][ESC] EnTT 学习记录 2

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 我写为

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

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[] {  });

		// Uncomment if you are using Slate UI
		// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

		// Uncomment if you are using online features
		// PrivateDependencyModuleNames.Add("OnlineSubsystem");

		// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true

		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 是个啥,所以就没管

但是我看到别人这么写的话,感觉就是工程名

// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;

public class EnTTUE4 : ModuleRules
{
	public EnTTUE4(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
		PrivatePCHHeaderFile = "PCH_EnTTUE4.h";
		CppStandard = CppStandardVersion.Cpp17;

因此对于我自己就是

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

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[] {  });

		// Uncomment if you are using Slate UI
		// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

		// Uncomment if you are using online features
		// PrivateDependencyModuleNames.Add("OnlineSubsystem");

		// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true

		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

官方教程中确实没有进一步的指示了……

再仔细看一遍,好像我代码前面有重复,要改成

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

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[] {  });

		// Uncomment if you are using Slate UI
		// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

		// Uncomment if you are using online features
		// PrivateDependencyModuleNames.Add("OnlineSubsystem");

		// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true

	}
}

总之,到此为止,头文件算是搞好了


那么接下来还是要学别人怎么布置了
BwdYeti/EnTTUE4 说是把 EnTT 做成插件,但是跟官方教程的布置也不一样,甚至没有 EnTT 源码放在插件里面,这我就搞不懂了。或许我不应该学他。


我想要恢复 build 文件的原状,但是即使我改成了这样

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

using UnrealBuildTool;

public class MUDTest : ModuleRules
{
	public MUDTest(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

		//PCHUsage = PCHUsageMode.NoSharedPCHs;
		//PrivatePCHHeaderFile = "MUDTest.h";
		//CppStandard = CppStandardVersion.Cpp17;

		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });

		PrivateDependencyModuleNames.AddRange(new string[] {  });

		// Uncomment if you are using Slate UI
		// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

		// Uncomment if you are using online features
		// PrivateDependencyModuleNames.Add("OnlineSubsystem");

		// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true

	}
}

还是报错

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 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

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

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[] { });

        // Uncomment if you are using Slate UI
        // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

        // Uncomment if you are using online features
        // PrivateDependencyModuleNames.Add("OnlineSubsystem");

        // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
    }
}

这个是还在 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

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


#include "TestActor.h"
#include "entt.hpp"

// Sets default values
ATestActor::ATestActor()
{
 	// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
	PrimaryActorTick.bCanEverTick = false;

}

// Called when the game starts or when spawned
void ATestActor::BeginPlay()
{
	Super::BeginPlay();
	entt::registry registry;
	auto entity = registry.create();

}

// Called every frame
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 做了也不行……那我就不知道了……啊……想放弃了

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:54:07  更:2022-03-08 22:54:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 17:45:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码