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

泰州网站制作公司网站建设团队介绍

泰州网站制作公司,网站建设团队介绍,河北沧州泊头做网站的电话,公司网站页面加密使用openMVS库#xff0c;在VS2022中启用c17标准编译仍然报错 现象 项目中引用了某些开源库#xff08;例如openmvs2.1.0#xff09;#xff0c;编译时要求启用编译器对c17的支持。 没问题#xff01;大家都知道在下图所示的位置调整C语言标准#xff1a; 但是#…使用openMVS库在VS2022中启用c17标准编译仍然报错 现象 项目中引用了某些开源库例如openmvs2.1.0编译时要求启用编译器对c17的支持。 没问题大家都知道在下图所示的位置调整C语言标准 但是打开开关之后编译依然报错 这可真是一个令人百思不得其解的错误啊。报错的文件是官方的头文件type_traits双击之后跳转的错误位置也看不出个所以然。 这下头大了。不过之前编译openmvs库时用的是同一版本的VS编译器怎么就成功了呢于是查看vcpkg自动编译openmvs时用cmake配置生成的CMakeCache.txt中的编译选项才找到了真正原因如下图所示 图中标出来的选项是cmake生成的并不常见至少在VS2022中没有提供开关而只能靠用户手动输入到属性页、C/C、命令行的其他选项框中。 报错原因__cplusplus宏 __cplusplus宏是MSVC编译器预定义的宏它的值是许多语法特性的开关。前面讲了要启用c17标准就在C语言标准设置好即可。然而__cplusplus宏值不随上面的C语言标准/std 选项设置而改变需要同时添加/Zc:__cplusplus编译选项才能随着语言标准而改变如下表所示 /Zc:__cplusplus 选项/std 选项__cplusplus 值Zc:__cplusplus/std:c14默认值201402LZc:__cplusplus/std:c17201703LZc:__cplusplus/std:c20202002LZc:__cplusplus/std:clatest当前最新日期目前是202002LZc:__cplusplus-已禁用任何值199711L未指定任何值199711L 表中的/std 选项就是上一节的C语言标准属性。 可见如果没有添加/Zc:__cplusplus__cplusplus宏的值始终都是199711L启用的c17标准也是不完整的。微软这么操作的理由是有很多老代码写得不规范不符合语言标准之前版本的编译器由于对语言标准的遵守不严格能编译通过我们希望使用新编译器时它们的改动也尽可能小。 于是本来支持严格的标准C语法的编译器的默认状态仍和原来一样__cplusplus宏的值始终是199711L直到开发者在编译器的命令行中加入/Zc:__cplusplus它才真正变成实际使用语言标准的值。 其实多数情况下__cplusplus宏的值对代码编译影响不大。但是很多高水平开源库使用了新语法恰恰需要__cplusplus宏的值符合语言标准/std 选项才能编译通过这是对开源开发者很不友好的。 P.S. 官方的愿景是有朝一日仅需要设定/std 选项__cplusplus宏的值就随之改变不需要额外添加/Zc:__cplusplus。 解决方法 在属性页—C/C—命令行—其他选项中添加/Zc:__cplusplus。重新编译即可。 扩展阅读 /Zc-cplusplus的微软官方说明 C语言标准切换选项 官方终于能正确设定__cplusplus值了 用/std选项确定c/c语言标准 强制符合语法标准选项/permissive- 一点认识MSVC的C/C编译器默认情况下实现了当前标准和未来一些标准中的语法。当指定语言标准为默认的/std:c14时大部分新标准的语法将被禁用但仍有一部分在引入/std选项之前就实现的新语法标准可用。 但指定/std:cxx(xx14)时新实现的cxx以后的语法将不可用。
http://www.hkea.cn/news/14274559/

相关文章:

  • 网站开发中加入cad功能微信网站怎么做下载附件
  • 金华网站建设团队wordpress主题切换
  • 学网站建设怎么样代码运行框wordpress
  • 做查询快递单号的网站多少钱wordpress代码 lt
  • 成都网站建设时代汇创域名年费价格表
  • 公司做网站是管理费用wordpress讨论
  • 温州外贸网站制作电子商务的网站案例
  • 网站建设及运行情况介绍wordpress ownclound
  • 网站怎么做站内美化wordpress获取登录作者
  • 南昌网站建设过程贵阳微信小程序制作开发
  • 国家工信部网站备案网站 主营业务
  • 菏泽网站开发php企业中英文网站源码
  • 怎样做网站外部样式dz网站建设视频教程
  • 做自己个人网站北京未来广告公司
  • 做网站都用什么语言如何做网站搜索功能
  • 优秀网站有哪些wordpress研究
  • 广州海外建站布吉网站建设哪家服务周到
  • 北京做网站需要多少钱莆田哪里有网站开发
  • 百度指数查询官网海外网站推广优化专员
  • 郑州中色十二冶金建设有限公司网站wordpress 添加频道
  • 钢结构网站海口网站建设品牌大全
  • 无锡优化网站价格定制一款app
  • 电脑网站视频怎么下载网页版传奇世界羽翼升级
  • 织梦网站模板好用心 做网站送女友
  • 毕设网站建设孝感市门户网站
  • 徐州建设工程审图中心网站创建网站建设
  • 网站建设的常见技术有哪些合肥公司网站建设
  • 学习网页设计的网站咸阳网站建设多少钱
  • 上海网站建设的英文不良网站举报中心官网
  • 南宁网站设计方法沈阳 网站开发