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

校园图书馆网站建设方林装饰公司电话

校园图书馆网站建设,方林装饰公司电话,网站收录后才可以做排名吗,如何做音乐分享类网站一、背景 笔者已介绍过在Qt 5.15.x中使用MinGW#xff08;8.10版本#xff09;编译并集成Crypto 8.8.0。 但是该编译出来的库#xff08;.a和.dll#xff09;不适用MSVC#xff08;2019版本#xff09;构建环境#xff0c;需要重新编译#xff08;.lib或和.dll#xf…一、背景 笔者已介绍过在Qt 5.15.x中使用MinGW8.10版本编译并集成Crypto 8.8.0。 但是该编译出来的库.a和.dll不适用MSVC2019版本构建环境需要重新编译.lib或和.dll。 二、思路 尝试 首先想到的是在Qt MSVC环境下VS Community 2019 版本 16.11.24编译Crypto 8.8.0源代码以得到相关库。   结果是大碰壁 gcm.obj : error LNK2019: 无法解析的外部符号 GCM_AuthenticateBlocks_2K_SSE2函数 protected: virtual unsigned __int64 __cdecl CryptoPP::GCM_Base::AuthenticateBlocks(unsigned char const *,unsigned __int64) (?AuthenticateBlocksGCM_BaseCryptoPPMEAA_KPEBE_KZ) 中引用了该符号 gcm.obj : error LNK2019: 无法解析的外部符号 GCM_AuthenticateBlocks_64K_SSE2函数 protected: virtual unsigned __int64 __cdecl CryptoPP::GCM_Base::AuthenticateBlocks(unsigned char const *,unsigned __int64) (?AuthenticateBlocksGCM_BaseCryptoPPMEAA_KPEBE_KZ) 中引用了该符号 integer.obj : error LNK2019: 无法解析的外部符号 Baseline_Add函数 class CryptoPP::Integer __cdecl CryptoPP::StringToIntegerchar(char const *,enum CryptoPP::ByteOrder) (??$StringToIntegerDCryptoPPYA?AVInteger0PEBDW4ByteOrder0Z) 中引用了该符号 integer.obj : error LNK2019: 无法解析的外部符号 Baseline_Sub函数 public: virtual class CryptoPP::Integer __cdecl CryptoPP::ModularArithmetic::Accumulate(class CryptoPP::Integer ,class CryptoPP::Integer const )const (?AccumulateModularArithmeticCryptoPPUEBAAEAVInteger2AEAV32AEBV32Z) 中引用了该符号 ...提示找不到目标函数搜索代码发现这些函数都存在于汇编代码块中.asm在C代码中声明。   接着捣鼓即便放开了定义允许进入汇编代码但编译还是无法passMSVC的工具链无法编译汇编代码。 xx\gcm.cpp:579: error: C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字 xx\gcm.cpp:579: error: C2065: “mov”: 未声明的标识符 xx\gcm.cpp:579: error: C2146: 语法错误: 缺少“;”(在标识符“rcx”的前面) xx\gcm.cpp:579: error: C2065: “rcx”: 未声明的标识符 xx\gcm.cpp:579: error: C2143: 语法错误: 缺少“;”(在“}”的前面) xx\gcm.cpp:580: error: C4235: 使用了非标准扩展: 不支持在此结构上使用“__asm”关键字看来直接使用Qt MSVC构建的路径行不通了至少不容易。那就只能走用VS构建路了。   出乎意料使用Visual Studio 2019非常顺利地编译出静态和动态库。不过很快发现一个问题动态库文件太小1,646 kB调查发现工程cyrdll中所包含的源文件也不完整。。郁闷了倒是静态库cryptlib看似比较靠谱。   那就在Qt中使用静态库吧。。引用方式和动态库一样。demo工程文件.pro引用cryptlib库部分如下 INCLUDEPATH $$PWD/cryptlibLIBS -L$$PWD -lcryptlib结果编译依然报错但是错得没有那么离谱了 cryptlib.lib(cryptlib.obj):-1: error: LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(fscryptoutil.obj 中) cryptlib.lib(filters.obj):-1: error: LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(fscryptoutil.obj 中)经搜索定位该问题为运行时库的设置问题Visual Studio默认的是MT多线程而Qt MSVC要的是MD多线程DLL。   以下是VS IDE中cryptlib工程有关运行库的设置页面   在VS IDE中按照调整后的运行库选项重新编译。集成OK。 三、集成 Qt Demo工程环境qmake MSVC 2019 Release x64。如图   其中cryptlib.lib即为Crypto 8.8.0静态库。fslib.dll则是动态库同样使用MSVC编译。   相关的引用和集成在工程文件.pro中体现如下 INCLUDEPATH $$PWD/cryptlib INCLUDEPATH $$PWD/fslibLIBS -L$$PWD -lcryptlib LIBS -lfslib四、结论 1Crypto源代码编译ok的两种环境 Qt qmake (MinGW)可以编译出动态库参见Qt 5.15编译MinGW及集成Crypto 8.7.0笔记。Visual Studio 2019 可以编译出静态库解决方案中的cryptlib工程但需要调整运行库类型从MT→MD。 2Qt的集成库使用什么环境构建则可执行模块亦使用对应的构建环境 Qt qmake (MinGW Release x64) → qmake (MinGW Release x64)VS 2019 Release x64 → qmake (MSVC 2019 Release x64) 3遗留问题CMake MSVC构建环境的尝试。 五、资源or参考链接 18.7.0版本的静态链接库MSVC 64 bit下载地址该动态链接库可直接集成到其他Qt qmake(MSVC)工程。 2Qt 5.15编译MinGW及集成Crypto 8.8.0笔记 3Crypto 8.7.0 Qt工程Qt 5.15.x MinGW8.10 64-bit下载 4Crypto 8.7.0动态库用于Qt 5.15及以上版本MinGW8.10 x64构建下载
http://www.dnsts.com.cn/news/100167.html

相关文章:

  • 建站系统主要包括什么东莞品牌设计公司
  • 小说写作网站摄影网站设计与实现
  • 南昌网站建设搜q.479185700上海何时开放娱乐场所
  • x wordpress theme资源网站优化排名
  • 广州微信网站建设如何wordpress调取留言页面
  • 个人备案网站经营时钟插件+wordpress
  • 广西壮族自治区住房和建设厅网站外贸营销
  • 济南建设项目竣工验收公示网站张家界简单的网站建设
  • 网站在线建站大连在哪个省份哪个市
  • 网站开发视频如何节省流量现代感的传媒公司名称
  • 辽宁网站建设找哪家网站开发技术栈
  • 网站建设与维护报告总结模板之家官网手机模板
  • 营销型网站建设 多少钱微软网站开发
  • 数据库网站 建设方案东莞合一网络科技有限公司
  • 整站网站优化长沙中建设计院网站
  • 山东有实力的网站开发多少钱沈阳网站制作机构
  • wordpress上传网站模板活动策划书模板
  • 建设部网站资质升级公示深圳市做网站前十强
  • 家庭办厂3一8万项目seo推广的特点有
  • 长沙企业建站按效果付费安卓应用市场官方版下载
  • 北京黄村专业网站建设价钱qq群排名优化软件购买
  • 免费个人网页制作网站一个简单的html网页
  • 购物网站seo搜索引擎前期分析微信朋友圈怎么投放广告
  • 网站设计网页设计公司wordpress 搞笑网站
  • 肯德基网站是哪家公司做的电子商务网站建设功能
  • 最新网站技术青岛比较知名的网站建设公司
  • 网站电脑速成培训班随州程力网站建设
  • 网页设计感十足的网站google关键词排名查询
  • 台州企业网站搭建图片有哪些网站可以做笔译
  • 昆山智能网站建设注册公司找黄牛一般多少钱