视频参考:【虚幻4】【UE4】第三方库的使用及SQLite3集成到UE4(Win、Android、iOS三端)_哔哩哔哩_bilibili
文章参考:
第三方库 | 虚幻引擎文档 (unrealengine.com)
库
静态库(Static library,缩写为 LIB):编译时,全部加载。
动态库(Dynamic Link Library,缩写为 DLL):程序运行时,有选择的加载。
1生成静态库
1.1先下载源码,以SQLite为例。
1.2创建VS桌面向导工程
1.3将文件复制到工程目录下
1.4添加到编译中
1.5编译生成静态库
1.6生成静态库文件
2.在UE4中使用静态库
动态库以模块的形式出现在UE中。两个地方可以放模块文件,项目和引擎安装目录,项目我没找到。。。就放引擎目录。路径: UE_4.26\Engine\Source\ThirdParty
2.1 新建文件夹,自定义名字。里面有两个文件夹,一个include和lib。一个放头文件,一个放库文件。头文件供外部进行函数调用,库文件是cpp的实现,保密,外部无法查看源代码。.cs的配置文件,建立与引擎的链接,使库可被引擎加载。
.cs文件下载: TestLib.txt – 蓝奏云
下载以后记得改后缀名。。。
2.2 代码解释
//自定义第三方库
using UnrealBuildTool;
//ModuleRules 模块类,继承它表明这个类是一个模块
// 修改1 TestLib 类名与文件夹名字对应
public class TestLib : ModuleRules
{
//修改2 TestLib 我觉得应该是 构造函数
public TestLib(ReadOnlyTargetRules Target) : base(Target)
{
//ModuleType.External 设置告知引擎不要查找(或编译)源代码。通过将列出的包含路径添加
//到编译环境,设置相关宏并关联到给定静态库,其将使用在该文件中定义的其他设置。
Type = ModuleType.External;
//ModuleDirectory 这个应该是预定义常量,表示该文件的路径
//获取该文件的路径
string TestPath = ModuleDirectory;
//添加include
//include 文件在.cs文件同级目录的 include文件夹下
PublicIncludePaths.Add(TestPath + "/include/");
//添加.lib 文件 生成.lib时,有不同平台的版本
//首先进行平台判断
if (Target.Platform == UnrealTargetPlatform.Win64)
{
//lib 文件在.cs文件同级目录的 lib文件夹下
PublicSystemLibraries.Add(TestPath + "/lib/Win64/cossdk.lib");
}
}
}
2.3 在程序中添加模块
编译,添加模块以后,一定要记得编译一下。。。
2.4 测试
如果添加文件名后,编译不报错即成功。还有就是使用函数时,会有只能提示。
3小技巧
程序默认索引很多目录,在这些目录下的文件可直接#include”文件名”,即可被程序链接。
Original: https://blog.csdn.net/qq_38153826/article/details/125359762
Author: 初中生学UE
Title: 生成静态库
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815721/
转载文章受原作者版权保护。转载请注明原作者出处!