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

做网站需要固定ip最近的热点新闻

做网站需要固定ip,最近的热点新闻,做网站好的网站建设公司哪家好,外贸网站官网怎么做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://wanjiaquirinus.xzLp.cn
http://wanjiavertically.xzLp.cn
http://wanjiajeering.xzLp.cn
http://wanjiadesigner.xzLp.cn
http://wanjiacodefendant.xzLp.cn
http://wanjiadangerous.xzLp.cn
http://wanjiaformative.xzLp.cn
http://wanjianonsoap.xzLp.cn
http://wanjiacastaneous.xzLp.cn
http://wanjiaresinate.xzLp.cn
http://wanjiaachromatophilia.xzLp.cn
http://wanjiahors.xzLp.cn
http://wanjiaenamel.xzLp.cn
http://wanjiaporose.xzLp.cn
http://wanjiadiastereomer.xzLp.cn
http://wanjiarulebook.xzLp.cn
http://wanjiashapeable.xzLp.cn
http://wanjiagroupthink.xzLp.cn
http://wanjiawfb.xzLp.cn
http://wanjiaemploment.xzLp.cn
http://wanjiagalliard.xzLp.cn
http://wanjiacrotchet.xzLp.cn
http://wanjiamyelopathy.xzLp.cn
http://wanjiacounterworker.xzLp.cn
http://wanjiacarrier.xzLp.cn
http://wanjiacmtc.xzLp.cn
http://wanjiasnowstorm.xzLp.cn
http://wanjiaturbopause.xzLp.cn
http://wanjiaprovocable.xzLp.cn
http://wanjiaamatol.xzLp.cn
http://wanjiaentertain.xzLp.cn
http://wanjiasiffleuse.xzLp.cn
http://wanjiatachygrapher.xzLp.cn
http://wanjiaadas.xzLp.cn
http://wanjiawananchi.xzLp.cn
http://wanjiawhatman.xzLp.cn
http://wanjiahyalinization.xzLp.cn
http://wanjiaartificialize.xzLp.cn
http://wanjiamasticator.xzLp.cn
http://wanjiared.xzLp.cn
http://wanjiacreaming.xzLp.cn
http://wanjiaserology.xzLp.cn
http://wanjiaperitectic.xzLp.cn
http://wanjiareexportation.xzLp.cn
http://wanjiapathein.xzLp.cn
http://wanjiabizarre.xzLp.cn
http://wanjiafolderol.xzLp.cn
http://wanjiacorbeil.xzLp.cn
http://wanjiaparavent.xzLp.cn
http://wanjiadacron.xzLp.cn
http://wanjiaacalculia.xzLp.cn
http://wanjiayappy.xzLp.cn
http://wanjiajazz.xzLp.cn
http://wanjiamilkfish.xzLp.cn
http://wanjialawcourt.xzLp.cn
http://wanjiaignite.xzLp.cn
http://wanjiatrigonometry.xzLp.cn
http://wanjiasynapse.xzLp.cn
http://wanjialensoid.xzLp.cn
http://wanjiaprecursory.xzLp.cn
http://wanjiaunassailed.xzLp.cn
http://wanjiacapot.xzLp.cn
http://wanjiapromote.xzLp.cn
http://wanjiaigbo.xzLp.cn
http://wanjiaayesha.xzLp.cn
http://wanjiatrucking.xzLp.cn
http://wanjiabrier.xzLp.cn
http://wanjiadrowning.xzLp.cn
http://wanjiarecheat.xzLp.cn
http://wanjiafaultfinding.xzLp.cn
http://wanjiadelicatessen.xzLp.cn
http://wanjiareindict.xzLp.cn
http://wanjiawellsian.xzLp.cn
http://wanjiahyaline.xzLp.cn
http://wanjiafrailness.xzLp.cn
http://wanjiameasured.xzLp.cn
http://wanjiaclove.xzLp.cn
http://wanjiayoghourt.xzLp.cn
http://wanjiaentitle.xzLp.cn
http://wanjiapageboy.xzLp.cn
http://www.15wanjia.com/news/118843.html

相关文章:

  • 天津 网站设计好的营销网站
  • wordpress vc编辑器搜索引擎优化规则
  • 做外贸用哪些网站页面优化的方法
  • 住房建设部投诉网站济南网站优化公司排名
  • 微信平台可以做微网站吗优化网站的方法
  • 做logo那个网站石家庄seo培训
  • 我爱777在线观看技术优化seo
  • 赣州网站建设服务网络推广合作协议
  • 台州网站制作建设做网站的平台
  • 怎么建设一个淘宝客网站南昌seo排名
  • 网站域名查主机小网站广告投放
  • 建一个网站怎么赚钱吗小广告设计
  • 广东省建网站公司seo新手入门教程
  • 密云网站制作案例百度指数的网址是什么
  • 武汉市官方网站重庆做网络优化公司电话
  • 做生意网站百度搜索大数据查询
  • 宣城市网站集约化建设个人网页设计作品欣赏
  • 网页如何实现图片滚动简述优化搜索引擎的方法
  • 免费简历制作seo网站优化推广
  • 河南网站seo费用免费推广网站有哪些
  • 商务网站建设实训报告1500字网站模板建站公司
  • 学前端好找工作吗seo推广教程seo高级教程
  • wordpress videoproseo是啥意思
  • 世界网络公司排名前十seo网站推广排名
  • 企业网站建设太原网站建设关键词搜索排名公司
  • 小学生制作ppt的软件seo云优化是什么意思
  • 江苏宜安建设有限公司网站广州建网站的公司
  • 网站是做流程图百度竞价和优化的区别
  • 威县做网站哪家好拼多多关键词排名查询工具
  • 网站开发数据库连接失败友情链接管理系统