金融网站建设方案网站建设 在线购买

web/2025/9/26 13:20:45/文章来源:
金融网站建设方案,网站建设 在线购买,云南网站建设定做,制作公众号的编辑器本篇博文介绍了#xff0c;如果在UE 中如何使用第三方库#xff0c;及制作成插件的方法。 DLL 文件是上篇文章中创键的具体的方法见上篇文章。下面开始介绍方法 首先#xff0c;创建一个空白的 UE5 C 项目#xff0c;然后再创建一个空白内容的插件#xff0c;如下图所示 …本篇博文介绍了如果在UE 中如何使用第三方库及制作成插件的方法。 DLL 文件是上篇文章中创键的具体的方法见上篇文章。下面开始介绍方法 首先创建一个空白的 UE5 C 项目然后再创建一个空白内容的插件如下图所示 修改UeWllApi.uplugin 里面的内容 如下图所示 在 插件的文件夹中 添加文件夹及DLL,LIB,.H 文件注意具体的路径不要错否则可能插件制作不成功如下图所示 首先在插件中添加一个ThridParty的文件夹文件夹名字不要错如下图所示 然后在ThridParty 内再添加一个文件夹WllApi如下图所示 然后在 WllApi 里面添加三个文件夹 bin,inc,lib(名字不要错)如下图所示 然后再bin ,lib分别添加x64 文件夹 inc 里面添加WllApi 文件夹 如下图所示 然后再bin ,lib,的x64文件夹下添加 Debug,Release 文件夹然后在Debug,Release 里面添加对应的Dll ,lib文件在inc 里面的WllApi文件夹下添加需要的头文件.如下图所示 在 插件的的Build.cs UeWllApi.Build.cs中添加以下代码 // Copyright Epic Games, Inc. All Rights Reserved. using System.IO; using UnrealBuildTool;public class UeWllApi : ModuleRules {public UeWllApi(ReadOnlyTargetRules Target) : base(Target){PCHUsage ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;PublicIncludePaths.AddRange(new string[] {// ... add public include paths required here ...});PrivateIncludePaths.AddRange(new string[] {// ... add other private include paths required here ...});PublicDependencyModuleNames.AddRange(new string[]{Core,// ... add other public dependencies that you statically link with here ...});PrivateDependencyModuleNames.AddRange(new string[]{CoreUObject,Engine,Slate,SlateCore,// ... add private dependencies that you statically link with here ... Projects});DynamicallyLoadedModuleNames.AddRange(new string[]{// ... add any modules that your module loads dynamically here ...});LoadPlugins(Target);}public void LoadPlugins(ReadOnlyTargetRules Target){bool bSupport false;string BinPath , LibPath ;//初始化BIN,LIB路径为空string PluginPath Path.Combine(ThridParty, WllApi);PrivateIncludePaths.Add(Path.Combine(PluginDirectory,PluginPath,inc));if(Target.PlatformUnrealTargetPlatform.Win64){if(Target.ConfigurationUnrealTargetConfiguration.Debug){BinPath Path.Combine(PluginPath, bin, x64, Debug);LibPath Path.Combine(PluginPath, lib, x64, Debug);}else{BinPath Path.Combine(PluginPath, bin, x64, Release);LibPath Path.Combine(PluginPath, lib, x64, Release);}bSupport true;}if(bSupport){PublicAdditionalLibraries.Add(Path.Combine(PluginDirectory, LibPath, FirstDll.lib));PublicDelayLoadDLLs.Add(FirstDll.dll);RuntimeDependencies.Add(Path.Combine($(PluginDir), BinPath, FirstDll.dll));}} } 还有要注意添加 “Projects” 模块 具体结果如下图所示 在UeWllApi.h中添加以下代码如下图所示 public :static constexpr wchar_t* ModuleName{ LUeWllApi };//插件的名字 public:/** IModuleInterface implementation */virtual void StartupModule() override;virtual void ShutdownModule() override; public:static FName GetModularFeatureName(){static FName FeatureName FName(ModuleName);return FeatureName;}static inline IModuleInterface Get(){return FModuleManager::LoadModuleCheckedIModuleInterface(ModuleName);}static inline bool IsAvailable()//是否可以获得{return FModuleManager::Get().IsModuleLoaded(ModuleName);} private:FString GetLibaryPath();void* LibraryHandle nullptr;在UeWllApi.cpp中添加以下代码如下图所示 #include UeWllApi.h #includeMisc/MessageDialog.h//消息框头文件 #include Interfaces/IPluginManager.h//插件管理头文件 #define LOCTEXT_NAMESPACE FUeWllApiModulevoid FUeWllApiModule::StartupModule() {FString LibraryPath GetLibaryPath();LibraryHandle LibraryPath.IsEmpty() ? nullptr : FPlatformProcess::GetDllHandle(*LibraryPath);//当前的路径是否为空不为空的话获取句柄if (!LibraryHandle){FMessageDialog::Open(EAppMsgType::Ok, LOCTEXT(ThridPartyLibraryError, Failed to load WllApi Library));} }void FUeWllApiModule::ShutdownModule() {FPlatformProcess::FreeDllHandle(LibraryHandle);//释放句柄LibraryHandle nullptr; } FString FUeWllApiModule::GetLibaryPath() {FString BaseDir IPluginManager::Get().FindPlugin(ModuleName)-GetBaseDir();//寻找插件FString LibraryPath; #if PLATFORM_WINDOWS # if PLATFORM_64BITS # if UE_BUILD_DEBUGLibraryPath FPaths::Combine(*BaseDir, TEXT(ThridParty/WllApi/bin/x64/Debug/FirstDll.dll)); # elseLibraryPath FPaths::Combine(*BaseDir, TEXT(ThridParty/WllApi/bin/x64/Release/FirstDll.dll)); # endif # else # if UE_BUILD_DEBUGLibraryPath FPaths::Combine(*BaseDir, TEXT(ThridParty/WllApi/bin/x86/Debug/FirstDll.dll)); # elseLibraryPath FPaths::Combine(*BaseDir, TEXT(ThridParty/WllApi/bin/x86/Release/FirstDll.dll)); # endif # endif #endifreturn LibraryPath;} #undef LOCTEXT_NAMESPACEIMPLEMENT_MODULE(FUeWllApiModule, UeWllApi)添加C类型的Blueprint Function Library如下图所示运行时是插件 在UeWllApiFunctionLibrary.h 添加以下代码如下图所示 public:UFUNCTION(BlueprintCallable,CategoryUeWllApi)static int GetSum();在UeWllApiFunctionLibrary.cpp 添加以下代码 如图所示 int UUeWllApiFunctionLibrary::GetSum() {return sum(3,4); } 到此为止插件就制作完成了只要打包调用就可以了可以看到在本程序内可以调用结果也正确 打包出来在其他程序调用也正确结果如下图所示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81526.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

攀枝花 网站建设wordpress 谷歌登陆

以下举例皆针对单例模式讨论 图解参考 https://www.processon.com/view/link/60e3b0ae0e3e74200e2478ce 1、Spring 如何创建Bean? 对于单例Bean来说,在Spring容器整个生命周期内,有且只有一个对象。 Spring 在创建 Bean 过程中&#xff0…

网站开发工具发展史简单网页模板代码

1. 以满分十分来评估自己——你有多擅长 Java? 如果你并不完全确信你自己或是你对 Java 的熟练程度,那么这会是一个非常棘手的问题。如果有这种情况,你应该把打分调低一点。之后,你大概会得到与你承认的水平相符的问题。因此&…

杭州建设银行网站首页开票 网站建设

文章目录 entryoutputloaderpluginmode前端构建基础配置关联HTML插件html-webpack-plugin构建 CSS 解析 ES6和React JSX解析 ES6解析 React JSX 解析CSS、Less和Sass解析CSS解析Less解析sass 解析图片和字体资源解析:解析图片资源解析:解析字体资源解析&…

贵港网站推广网站软文营销

第四章 常用web开发数据库框架 4.1.整合Spring JDBC操作数据 4.2 Spring JDBC多数据源的实现 4.3.Spring JDBC JTA实现分布式事务 4.4.ORM主流框架选型 4.5.bean转换Dozer的快速上手 4.6.整合Spring Data JPA操作数据 4.7.Sp…

网站开发搜索功能wordpress頂部公告插件

最近更新:29th 4月, 2013最近对bt比较感兴趣,看到不少朋友说,bt早都出10了11了我说我怎么就不知道。官方网站打开一看,果然还是BT5,不过已经r3了。听说现在BT5的支持已经很好了,于是也就下载了一个&#xf…

外贸网站模王烨小说主角

1.把Android源码导入Android Studio进行调试 源码下载完成后,先编译。 如下sample, projects不同编译命令不同 $ source build/envsetup.sh $ lunch aosp_flounder-userdebug $ make -j8 ( 8代表CPU核数 ) 编译idegen这个项目,生成idegen.jar文件.…

做网站公司信科建站免费企业做网站步骤

一、DI (依赖注入) 依赖注入(DI)是一种实现控制反转(IoC)的技术,可以在运行时动态地向应用程序提供其所需的依赖。在 Spring 框架中,DI 是一种常用的实践,有助于提高代码的模块化和灵活性。下面…

成都网站建设方案服务淘宝网pc首页

简述 Flask 是 Python 生态圈中一个基于 Python 的Web 框架。其轻量、模块化和易于扩展的特点导致其被广泛使用,适合快速开发 Web 应用以及构建小型到中型项目。它提供了开发 Web 应用最基础的工具和组件。之所以称为微框架,是因为它与一些大型 Web 框架…

外贸网站谷歌优化菏泽市建设局网站

盒子阴影 属性值为box-shadow,盒子阴影不占空间,不影响盒子之间的距离. 值说明h-shadow必需,水平阴影位置,允许为负值v-shadow必需,水平阴影位置,允许为负值blur可选,模糊距离,数值越大影子越模糊spread可选,影子的尺寸color可选,影子的颜色inset可选, 将外阴影改为内阴影(省…

企业网站建设北京网站需要服务器吗

漏洞描述 IP-guard是由溢信科技股份有限公司开发的一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危…

比分网站仿站建设科技布是什么面料

Feign的默认实现不支持连接池,换位Apache的HttpClient或者OKHttp连接池 引入依赖即可。 最佳实践 Feign的使用,一般抽取为单独的模块,引入依赖以及相关实体类,配置类等。在使用时引入接口依赖。 在引入依赖时,由于我…

网站设计与网站建设a卷东莞网站建设那家好

1 前言 如果你正在准备软件工程师或软件开发人员的面试,那么你可能知道由于其开放性质和广泛性,准备系统设计是多么困难,但同时你也不能忽略它。在软件工程界,如果你正在申请高级工程师/主管/架构师或更高级别的角色,系统设计是最受追捧的技能,也是整个过程中最重要的环节之一…

灵动网站建设企业类网站有哪些例子

A07_HttpRunner重定向_04_解决方案既然 HttpRunner 是对 requests 模块的封装,那我们就试图从 requests 中寻找答案,在其官网中发现了对重定向的描述和处理:地址:http://cn.python-requests.org/zh_CN/latest/user/quickstart.htm…

网站icp备案网址微动网站建设

本文讨论了领导者在沟通过程中如何避免成为传声筒,通过筛选、处理和总结信息,在向上、向下沟通时保持相关性和真实性,提高沟通效率和效果。原文: The Dumbest Mistake Leaders Make in Communication 中层管理者作为高层领导、下属团队和其他…

做家务的男人网站上海泵阀网站建设

近期转到研发岗,需要用到mysql、vs2008;之前由于没有做过,写下这篇文章记录下这周所学的东西!先安装好相关软件安装时间比较久耐心等待......安装完毕之后打开vs,Tools -> opptions ->设置完毕之后,点…

国外网站空间 月付购买网络商城系统

Uni-app 和 Vue 是两个不同的概念,它们之间的关系可以简单描述为: Vue: Vue.js 是一个流行的前端 JavaScript 框架,用于构建用户界面和单页面应用。Vue 具有简洁的语法、响应式数据绑定和组件化的特性,使得开发者可以更…

车险网站模版军事新闻最新消息中国南海今天

在Fragment中使用了騰訊的X5 webview,雖然好用,但是在Fragment中傳遞消息困難,想要返回上一頁,還得各種消息傳遞什么的,麻煩.可是在Fragment中又不能使用onKeyDown,那怎么辦了?哎,我是太菜了,也不想動腦子,那就在Fragment的最上面加了一個標題欄,里面放了一個textView標簽,監聽…

做高端品牌网站建设wordpress_域名输入后index of_然后点进取

那么,诚实签最关键的4个要点 是什么呢? 第一,证明你有一定的经济实力。 可能需要房产、存款等证明,也需要银行信用卡或借记卡半年流水证明(让人信服的每月进帐和消费能力)。 这些是为了证明,你可…

苏州相城区做网站公司苏州网站建设n苏州网站建设公司

1 Scilab简要介绍Scilab 是由法国国家信息、自动化研究院(INRIA)的科学家们开发的“开放源码”软件。Scilab是开源的软件,用户不仅可以在Scilab的许可证条件下自由使用该软件,还可以根据自己需要修改源代码,使之更加符合自身需要。与Matlab类…

中国建设银行官网站企业网银网页界面设计主要内容有哪些

在网络爬虫领域,动态渲染类型页面的数据提取和下载自动化是一个常见的挑战。本文将介绍如何利用Pyppeteer库完成这一任务,帮助您轻松地提取动态渲染页面中的数据表并实现下载自动化。 一、环境准备 首先,确保您已经安装了Python环境。接下来…