大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
原创文章,转载请注明出处。
本文带大家认识UE4插件/模块的使用方式Dll。既然为DLL,那么我们就可以对其封装,做到不公开cpp的目的。
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>注解
谢谢,创作不易,大侠请留步… 动起可爱的双手,来个赞再走呗 <( ̄︶ ̄)>
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188636.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...