C++ vs2015编译json和protobuf报错nlohmann::detail::static_constnlohmann::detail::to_json_fn::value‘

问题描述

补充:这个问题也会导致protobuf编译和使用报错,按照本方法修复后问题解决
只要引入项目中的 #include “nlohmann/json.hpp” 用vs2015编译就会报错,甚至用vs2022的Visual Studio 2015 (v140)工具集编译也会报同样的错误,错误信息如下:

nlohmann::detail::static_constnlohmann::detail::to_json_fn::value': in-class initialization for type 'const T' is not yet implemented; static member will remain uninitialized at runtime but use in constant-expressions is supported...

参考这篇博客“JSON for Modern C++ vs2015 企业版和专业版编译错误”可知是MSVC 的问题,但是不管重装vs2015多少次,专业版和社区版都试过仍没解决问题,我怀疑是每次安装的时候都提示安装包损坏或丢失有关,但是用这里面的方法都没解决问题“四种解决VS2015安装包损坏或丢失的方法

解决方案


20220817 修改:
经过我后来测试,直接安装Microsoft Visual C++ Build Tools可能会提示你已安装vs,需要先卸载安装的vs2015,然后先把Microsoft Visual C++ Build Tools安装好,再把vs2015安装好。我还遇到过安装好后的vs2015无法打开资源视图的情况,是通过下载DirectX修复工具增强版修复DLL解决的。(太麻烦了,要不是项目用到vs2015,绝对不会这么折腾。。。)


我最后的解决办法是在微软官网下载的Microsoft Visual C++ Build Tools点击修改,会将vs2015的build环境重新安装一遍,问题就解决了。下载连接放这里了:https://my.visualstudio.com/Downloads?q=visual%20studio%202015&wt.mc_id=omsftvscom~older-downloads,可能需要登陆微软账号,但是阿里云盘竟然分享不了这个文件 (─.─||)
在这里插入图片描述

后面我在一个博客上看见有人说3.75G的安装包有问题,正确的安装包是6.96G,但是我没有去验证,感兴趣的小伙伴可以试试,博客连接在这里:安装Visual Studio 2015(VS2015)时提示安装包JavaScript_ProjectSystem.msi丢失或损坏的解决方法

参考连接

1、JSON for Modern C++ vs2015 企业版和专业版编译错误
https://blog.csdn.net/weixin_33841722/article/details/91693116
2、四种解决VS2015安装包损坏或丢失的方法
https://blog.csdn.net/hs_2017112123/article/details/122107693
3、安装Visual Studio 2015(VS2015)时提示安装包JavaScript_ProjectSystem.msi丢失或损坏的解决方法 https://blog.csdn.net/wenhao_ir/article/details/124971021

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值