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"指定了動態庫文件所在的路徑,這兩個路徑都必須是絕對路徑。這個語句實際上執行的操作就是將第三方動態庫文件復制到該模塊編譯好的動態庫文件的同級目錄下,這樣在加載該模塊的時候可以同時加載第三方庫的動態庫文件。


免責聲明!

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



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