生成静态库

视频参考:【虚幻4】【UE4】第三方库的使用及SQLite3集成到UE4(Win、Android、iOS三端)_哔哩哔哩_bilibili

文章参考:

第三方库 | 虚幻引擎文档 (unrealengine.com)

静态库(Static library,缩写为 LIB):编译时,全部加载。

动态库(Dynamic Link Library,缩写为 DLL):程序运行时,有选择的加载。

1生成静态库

1.1先下载源码,以SQLite为例。

SQLite Download Page

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"文件名",即可被程序链接。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值