当前位置: 首页 > news >正文

网站开发绩效考核与薪酬腾讯云远程安装wordpress

网站开发绩效考核与薪酬,腾讯云远程安装wordpress,网页游戏排行榜前十名田田田田田田田田田田,网站设计公司 南京cryptopp是一个开源免费的算法库,这个库的用途非常多,我常常用这个库来做加解密的运算。这段时间在折腾UE5.4.4,学习的过程中,准备把cryptopp移植到游戏的工程内,但UE的编译环境和VS的编译环境完全不同,能在…

cryptopp是一个开源免费的算法库,这个库的用途非常多,我常常用这个库来做加解密的运算。这段时间在折腾UE5.4.4,学习的过程中,准备把cryptopp移植到游戏的工程内,但UE的编译环境和VS的编译环境完全不同,能在VS下顺利编译的cryptopp代码,移植之后,全在报错,错误千奇百怪,我尝试了修复这些错误,结果有一些错是根本修复不了的。我列举一些典型的错误如下:

12>D:\UEProject\Dawn\Source\cryptopp\code\algebra.cpp(1): error : Expected algebra.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\algparam.cpp(1): error : Expected algparam.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\allocate.cpp(1): error : Expected allocate.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\arc4.cpp(1): error : Expected arc4.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\aria.cpp(1): error : Expected aria.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\asn.cpp(1): error : Expected asn.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\authenc.cpp(1): error : Expected authenc.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\base32.cpp(1): error : Expected base32.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\base64.cpp(1): error : Expected base64.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\basecode.cpp(1): error : Expected basecode.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\blake2.cpp(1): error : Expected blake2.h to be first header included.
12>D:\UEProject\Dawn\Source\cryptopp\code\blowfish.cpp(1): error : Expected blowfish.h to be first header included.


1>D:\UEProject\Dawn\Intermediate\Build\Win64\x64\UnrealGame\DebugGame\cryptopp\Definitions.cryptopp.h(19): note: 参见“CRYPTOPP_API”的前一个定义
1>D:\UEProject\Dawn\Source\cryptopp\code\config_misc.h(121): error C4668: 没有将“CRYPTOPP_GCC_VERSION”定义为预处理器宏,用“0”替换“#if/#elif”
1>D:\UEProject\Dawn\Source\cryptopp\code\config_misc.h(121): error C4668: 没有将“CRYPTOPP_LLVM_CLANG_VERSION”定义为预处理器宏,用“0”替换“#if/#elif”
1>D:\UEProject\Dawn\Source\cryptopp\code\config_misc.h(122): error C4668: 没有将“CRYPTOPP_APPLE_CLANG_VERSION”定义为预处理器宏,用“0”替换“#if/#elif”
1>D:\UEProject\Dawn\Source\cryptopp\code\config_misc.h(194): error C4668: 没有将“CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE”定义为预处理器宏,用“0”替换“#if/#elif”
1>D:\UEProject\Dawn\Source\cryptopp\code\misc.h(644): error C4668: 没有将“CRYPTOPP_GCC_VERSION”定义为预处理器宏,用“0”替换“#if/#elif”
1>D:\UEProject\Dawn\Source\cryptopp\code\misc.h(644): error C4668: 没有将“CRYPTOPP_LLVM_CLANG_VERSION”定义为预处理器宏,用“0”替换“#if/#elif”
1>D:\UEProject\Dawn\Source\cryptopp\code\misc.h(645): error C4668: 没有将“CRYPTOPP_APPLE_CLANG_VERSION”定义为预处理器宏,用“0”替换“#if/#elif”

这些错有些是UBT的配置问题,有些是作者对C++宏定义本身写法不够严谨引起的,还有一些离谱的错误,应该和编译环境有关。

这些错误完全无法解决,所以我想了一个办法,就是在外部用VS2022直接编译cryptopp工程,然后生成cryptopp的库文件,通过UE Moudle的方式,将库引入UE5.4.4。

具体方法如下:

第一步,编译cryptopp,打开cryptopp目录中cryptest.sln这个工程文件,然后打开项目cryptlib这个工程的属性,将C/C++下的代码生成中,运行库一栏选择为MD方式(多线程DLL)。然后编译整个库。得到cryptopp.lib文件。

第二步,把crypto作为一个moudle引入到UE项目内。在UE工程的source目录下,创建cryptopp目录。并且在cryptopp内继续创建inc和lib目录。将相应的文件拷贝到对应目录。

第三步,在cryptopp目录下创建cryptopp.Build.cs文件。内容如下:

using System.IO;
using UnrealBuildTool;public class cryptopp : ModuleRules
{public cryptopp(ReadOnlyTargetRules Target) : base(Target){//PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;Type = ModuleType.External;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 ...	});DynamicallyLoadedModuleNames.AddRange(new string[]{// ... add any modules that your module loads dynamically here ...});// 添加导入库或静态库PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "lib", "cryptlib_Release.lib" ));}
}

主要是把Type改成ModuleType.External, 告诉UBT这个模块是第三方库,不需要编译,然后再设置好需要导入的库文件和路径。

最后一步,在UE主模块的编译脚本内,添加要引入的模块,不加入的话会报链接找不到符号的错误。

		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "cryptopp" });

加入之后,重新刷新vs工程,然后再编译工程,就可以使用cryptopp了。

http://www.yayakq.cn/news/570135/

相关文章:

  • 河南建设集团网站wordpress樱花主题
  • 在信息发布网站建设外链邹城网站建设多少钱
  • 凡科网站后台做网站用什么配置的笔记本
  • 山东省建设工程信息网站坪地网站制作
  • 太原市做网站好的科技公司网站如何验收
  • 网站注册设计省厅建设信息网网站
  • aspcms做双语网站修改配置简述网站开发过程
  • wordpress 制作网站wordpress关闭GZIP
  • 蓝色网站设计WordPress怎么做百度小程序
  • 怎样让网站被百度收录上线了做的网站可以登陆
  • 被网站开发公司坑石大远程网页设计与网站建设答案
  • 英文网站怎么设计注册越南网站vn
  • 重庆建设工程招标信息网站广告平面设计师
  • 温州网站设计网站建设网站买一个域名大概多少钱
  • 合肥网站网页设计橡皮泥手工制作大全简单
  • 网站建设公司信息微信管理系统后台
  • 建筑人才网站哪个比较好app推广接单渠道
  • 莱芜装修网站杭州做网站比较好的公司
  • 泰州企业网站建设汕头第一网e京网
  • 手机端企业网站源码企业网站内容管理
  • 优购物官方网站女鞋软膜做网站有用吗
  • 在线做网页的网站乐清网站建设服务
  • 图片展示网站php源码做网站需要购买地域名吗
  • 网站建设应列入啥费用辽宁工程建设信息网诚信库
  • 如何做网站的外部链接上海有名的网站建设公司有哪些
  • 网站建设合作wordpress文章截断
  • 固安建设行政主管部门官方网站四川网络推广公司哪家好
  • nas做视频网站wordpress建站不知道密码
  • 口碑好的移动网站建设学院网站建设情况总结
  • 泉州建站模板免费咨询法律平台