解决HM16.2运行时报错(未定义标识符 “int_least8_t“ 以及“int_least8_t”: 不是“`global namespace‘”的成员等)问题

在Win10操作系统中使用VS2019编译HM16.2时遇到了atomic文件中的类型定义错误和stdint.h文件冲突问题。通过在atomic文件顶部添加类型定义和替换HM项目中的stdint.h为VS自带的版本,成功解决了这两个问题,最终能够生成解决方案。
摘要由CSDN通过智能技术生成

今天分享在win10操作系统的vs下运行HM16.2遇到的问题以及解决方案。

1、首先下载HM16.2代码,见上篇(3条消息) HM代码下载方法_Kyra_meng的博客-CSDN博客

2、使用VS2019打开build下的HM_vc10.sln

3、生成项目的解决方案,见之前的内容:(3条消息) H.265/HEVC视频编码-HM16.9配置文件设置_Kyra_meng的博客-CSDN博客

这时,出现问题1:atomic文件中红线处全部报错(未定义标识符 "int_least8_t"  等)。我已经修改完,这里没有错误显示。

解决方案:在atomic文件中红线位置的上方添加:(此处不能直接修改内容,需要修改权限,详情参考:Windows 10提示没有权限打开文件如何解决-百度经验)

typedef signed char        int_least8_t;
typedef unsigned char      uint_least8_t;
typedef short              int_least16_t;
typedef unsigned short     uint_least16_t;
typedef int                int_least32_t;
typedef unsigned int       uint_least32_t;
typedef long long          int_least64_t;
typedef unsigned long long uint_least64_t;
typedef signed char        int_fast8_t;
typedef unsigned char      uint_fast8_t;
typedef int                int_fast16_t;
typedef unsigned int       uint_fast16_t;
typedef int                int_fast32_t;
typedef unsigned int       uint_fast32_t;
typedef long long          int_fast64_t;
typedef unsigned long long uint_fast64_t;
typedef long long          intmax_t;
typedef unsigned long long uintmax_t;

出现问题2:cstdint文件中红线处全部报错。我已经修改完,这里没有错误显示。

解决方案:将HM-16.2\compat\msvc文件夹下的stdint.h改成vs原本的stdint.h文件

 我的电脑中(安装VS时采用默认安装路径),vs原本的stdint.h文件在C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include下

 4、再次生成解决方案:成功啦~

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值