Ue4_手動添加模塊/插件/封裝DLL


一.Ue4手動創建模塊

 

 1.創建如圖項目為Module_Test

 

 

 

 2.創建一個名為Blank的插件空白模板,接下來准備手動添加插件和模板

 

 3.當創建Blank 插件模板后,編輯器會產生如下結構 

Plugins

  Blank

    public

      Blank.h

    private

      Blank.cpp

    Blank.Build.cs

    Blank.uplugin

4.找到對應的plugins的source文件下,復制Blank文件夾

 

修改名為Cus_Mod

  

 

5.點擊Cus_Mod.Build.cs修改內容為 Blank 改為Cus_Mod 當前模塊名

 

6.回到項目的uproject文件,點擊Generate

回到vs,我們重載當前的項目文件

 

 7.進行下列修改 Cus.Mod.h /Cus.Mod.cpp/Blank.uproject 

 

 

 

8.手動添加模塊完成,點擊編譯,會產生如下dll文件

 

9.為加快啟動速度,防止重復編譯模塊,可以使用如下build.cs 模塊使用 bUsePrecompiled = true,直接加載編譯后的Dll文件

 二.關於隱藏插件.cpp文件

當前插件如不像暴露.cpp文件的具體實現內容,只想暴露.h文件,如何實現?

 1.在Plugins下source文件添加DLL.h / DLL.cpp

 

 

 回到uproject 后Generate后進行如下改寫

創建一個Pawn

//DLL.h
#include "CoreMinimal.h"
#include "GameFramework//Pawn.h"
#include "DLL.generated.h"

/**
 *
 */
UCLASS(Blueprintable, BlueprintType)
class CUS_MOD_API ADLL : public APawn
{
    GENERATED_BODY()
public:
    UFUNCTION(BlueprintCallable, Category = "DLL")
    void Logs();
};

//DLL.cpp

#include "DLL.h"

void ADLL::Logs()
{
    GEngine->AddOnScreenDebugMessage(-1, 200.0f, FColor::Blue, TEXT("Hello DLL"));
}

 

 

 

 

 重新編譯后,content下會出現

 

 打開關卡藍圖,測試調用Logs

 

2.當刪除private 文件后,

 

3.在build.cs添加如下ePrecompiled = true ,不編譯當前模塊,直接加載編譯過的dll文件

 

如圖,仍可以進行調用

 

 5.當項目需求需要隱藏具體函數內部的cpp文件時,編譯后可將其cpp文件刪除,並將build.cs的文件設置為 bUsePrecompiled = true,即可跳過編譯,直接加載dll,從而缺少cpp文件仍可進行加載

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM