- 打开UE工程,点击编辑,选择插件,点击"打包"按钮,选择输出目录
- UE4.26版本打包提示需要VS2017问题解决
1)用记事本打开文件【UE4对应版本安装目录\Epic Games\UE_4.26\Engine\Build\BatchFiles\RunUAT.bat】
2)搜索【%UATExecutable% %* %UATCompileArg%】并删除本行
3)在本行添加【%UATExecutable% %* -VS2019=true %UATCompileArg%】
4)保存并关闭文件
5)重启UE4并打包插件
-
编译比较严格,需要看报错提示补充类的前置申明以及头文件引用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//head文件
#include "CoreMinimal.h"
#include "Subsystems/GameInstanceSubsystem.h"
#include "Runtime/Online/HTTP/Public/Http.h"
#include "Engine/EngineTypes.h"
#include "VRVIUOnlineGameSubsystem.generated.h"
class
FJsonObject;
//cpp文件
#include "VRVIUOnlineGameSubsystem.h"
#include "Kismet/GameplayStatics.h"
#include "SocketSubsystem.h"
#include "Engine/World.h"
#include "TimerManager.h"
#include "Serialization/JsonReader.h"
#include "Serialization/JsonWriter.h"
#include "Serialization/JsonSerializer.h"
-
把打包好的插件,拷贝到工程plugins目录下,删除private源码文件夹,修改".Build.cs"文件,添加编译条件bUsePrecompiled
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public
class
MultiPlayerPlugin : ModuleRules
{
public
MultiPlayerPlugin(ReadOnlyTargetRules Target) : base(Target)
{
bEnableUndefinedIdentifierWarnings =
false
;
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
bUsePrecompiled =
true
;
PublicIncludePaths.AddRange(
new
string[] {
"MultiPlayerPlugin/Public"
}
);
PrivateIncludePaths.AddRange(
new
string[] {
}
);
PublicDependencyModuleNames.AddRange(
new
string[]
{
"Core"
// ... add other public dependencies that you statically link with here ...
}
);
PrivateDependencyModuleNames.AddRange(
new
string[]
{
"CoreUObject"
,
"Engine"
,
"Slate"
,
"SlateCore"
,
"UMG"
,
"Http"
,
"Json"
,
"JsonUtilities"
,
"Sockets"
,
"Networking"
// ... add private dependencies that you statically link with here ...
}
);
DynamicallyLoadedModuleNames.AddRange(
new
string[]
{
// ... add any modules that your module loads dynamically here ...
}
);
}
}