大家好,又见面了,我是你们的朋友全栈君
原创文章,转载请注明出处。
本文带大家认识UE4插件/模块的使用方式Dll。既然为DLL,那么我们就可以对其封装,做到不公开cpp的目的。
-
-
- 1>新建一个Plugin
- 2>在plugin中创建一个Actor类,并在里面写一个UE4的Log输出函数。
- 3>对其进行编译,编译出不同模式的dll出来
- 4>在UE4场景中测试我们Log函数
- 5>删除cpp文件
- 6>在我们的.build.cs中添加不参数编译的参数 bUsePrecompiled = true;
- 7>再到UE4场景中测试我们Log函数。发现也能成功
- 8>注解
-
1>新建一个Plugin
参考下图
{
"FileVersion": 3,
"Version": 1,
"VersionName": "1.0",
"FriendlyName": "MyTest1",
"Description": "created by whitetian",
"Category": "Other",
"CreatedBy": "tianhuajian",
"CreatedByURL": "",
"DocsURL": "",
"MarketplaceURL": "",
"SupportURL": "",
"CanContainContent": true,
"IsBetaVersion": false,
"IsExperimentalVersion": false,
"Installed": false,
"Modules": [
{
"Name": "MyTest1",
"Type": "Runtime",
"LoadingPhase": "Default"
}
]
}
2>在plugin中创建一个Actor类,并在里面写一个UE4的Log输出函数。
MYTEST1_API等价于#define MYTEST1_API DLLEXPORT等价于调用
__declspec(dllexport)
__declspec(dllimport)
// DLL export and import definitions
#ifndef DLLEXPORT
#define DLLEXPORT
#define DLLIMPORT
#endif
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyActor.generated.h"
/** * */
UCLASS()
class MYTEST1_API AMyActor : public AActor
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable)
void MyPrint();
};
// Copyright Epic Games, Inc. All Rights Reserved.
#include "MyActor.h"
void AMyActor::MyPrint()
{
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green, TEXT("AMyActor::MyPrint()"));
}
3>对其进行编译,编译出不同模式的dll出来
选择Development Editor/Debug Game Editor
4>在UE4场景中测试我们Log函数
5>删除cpp文件
6>在我们的.build.cs中添加不参数编译的参数 bUsePrecompiled = true;
7>再到UE4场景中测试我们Log函数。发现也能成功
8>注解
谢谢,创作不易,大侠请留步… 动起可爱的双手,来个赞再走呗 <( ̄︶ ̄)>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188636.html原文链接:https://javaforall.cn