UE5 导入第三方静态库(以网易云信IM即时通讯SDK为例)

本文介绍了如何在UE5工程中导入IM通讯和音视频SDK的静态库,包括添加搜索路径、头文件、宏设置、静态库和DLL文件的配置,确保正确集成并解决可能的编译问题。
摘要由CSDN通过智能技术生成

注意:导入静态库需要做到2点:添加搜索路径,加载静态文件如.lib文件以及所需的DLL库。
.IM要求添加include和wrapper两个文件为搜索路径:如下图

 

 而该SDK生成的静态库在上图的exports文件夹中(有些SDK需要安装该SDK的官方文档生成所需静态库,有些SDK是已经生成好的文件不需要此操作)下图是生成的SDK



现在SDK所需的静态库和文件都已经准备好了,开始添加到UE5工程中:
1.在工程中新建一个路径保存所需静态库(NetSdk是工程名称,在与他并列的路径添加ThirdParty/nimSDK/路径,我的项目里如图2中有两个文件夹分别是两个SDK,我们以IM文件夹中的静态库为例):

图1:

 图2:

 2.添加搜索路径和静态库导入,这个操作在上图2中的nimSDK.Build.cs文件中实现,该文件需要手动创建:

 如上图:

1.添加所需头文件:

using UnrealBuildTool;
using System;
using System.IO;
using System.Security.Cryptography.X509Certificates;

2.添加所需要宏(否则编译报错)

        // 添加需要设置的宏
        PublicDefinitions.Add("WITH_MYTHIRDPARTYLIBRARY=1");

3.添加搜索路径

        //添加包含路径(IM通讯)
        PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "IM/include"));
        PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "IM/wrapper"));

        //音视频(这是另一个音视频sdk静态库所需)
        PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "NetTC/api"));

4.添加静态库
 

            // 添加导入库或静态库(IM通讯)
            PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "IM/exports/lib", "nim_chatroom_cpp_wrapper.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "IM/exports/lib", "nim_cpp_wrapper.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "IM/exports/lib", "nim_qchat_cpp_wrapper.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "IM/exports/lib", "nim_tools_cpp_wrapper.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "IM/exports/lib", "nim_wrapper_util.lib"));

            //音视频(另一个SDK所需)
            PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "NetTC/libs/x64", "nertc_sdk.lib"));

5.复制DLL文件到工程(我只复制了一个DLL,其他所需的DLL都按照这个方式批量复制就行)
            string DllPath = Path.Combine(ModuleDirectory, "IM/bin", "h_available.dll");
            RuntimeDependencies.Add(Path.Combine("$(ProjectDir)/Binaries/Win64/h_available.dll"), DllPath);
            PublicDelayLoadDLLs.Add("h_available.dll");

6.在项目工程的build.cs添加静态库模块

 

7.上述步骤已经成功导入了,附上一个工程路径图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值