1. 程式人生 > 其它 >UE4學習筆記:Windows系統下如何在C++專案裡呼叫第三方動態庫

UE4學習筆記:Windows系統下如何在C++專案裡呼叫第三方動態庫

本隨筆介紹在Windows系統下,由UE4引擎建立的C++專案裡如何實現呼叫第三方動態庫的方法。

作者還在學習階段,並且對UE4引擎的使用和理解還不是非常透徹,難免會在隨筆內容裡出現技術上和書寫上的問題,如果出現了類似的問題歡迎在評論區或者私信討論。

UE4C++專案是由一個個的模組組成,每一個模組就是一組函式、變數和類等程式碼的集合,模組除了包含標頭檔案和原始檔以外,還包含了被稱為模組構建檔案的以模組名字命名,以.Build.cs結尾的檔案,該檔案的作用就是定義該模組與其他模組是如何進行協作的,其中也包括如何呼叫第三方庫。

設定第三方庫標頭檔案的路徑

PublicIncludePaths.Add("IncludePath");


變數PublicIncludePaths是一個C#的字串列表,只需要用該變數的Add方法第三方庫標頭檔案所在的資料夾路徑新增到這個變數裡面,就可讓該模組查詢到第三方庫的標頭檔案,字串"IncludePath"指定了標頭檔案所在資料夾的路徑,該路徑可為絕對路徑或相對路徑,如果為相對路徑,那起始資料夾為原始碼資料夾(即在專案裡生成的被命名為“Source”的資料夾)。

設定第三方庫匯入庫的路徑

PublicAdditionalLibraries.Add("AbsoluteImportLibraryPath/ImportLibraryName.lib);
變數PublicAdditionalLibraries

是一個C#的字串列表,只需要用該變數的Add方法將第三方庫匯入庫所在的資料夾路徑新增到這個變數裡面,就可讓該模組查詢到第三方庫的匯入庫檔案,字串"AbsoluteImportLibraryPath/ImportLibrary.lib"指定了匯入庫檔案的絕對路徑,該路徑不能為相對路徑

設定第三方庫動態庫的路徑

RuntimeDependencies.Add(AbsoluteTargetDirectoryPath, "AbsoluteDLLFilePath/DLLFileName.dll");
變數RuntimeDependencies是一個自定義的變數型別,用該變數的Add方法每次新增路徑的時候接受兩個字串引數,第一個字串引數AbsoluteTargetDirectoryPath

指定了需要將動態庫檔案複製到哪個資料夾內,一般來說將該引數設定為字串"$(BinaryOutputDir)"即可。第二個字串"AbsoluteDLLFilePath/DLLFileName.dll"指定了動態庫檔案所在的路徑,這兩個路徑都必須是絕對路徑。這個語句實際上執行的操作就是將第三方動態庫檔案複製到該模組編譯好的動態庫檔案的同級目錄下,這樣在載入該模組的時候可以同時載入第三方庫的動態庫檔案。