[code::Blocks] windows10 仿真LVGL,DEBUG版本正常RELEASE版本报错error: unknown type name ‘HTOUCHINPUT‘

[code::Blocks] windows10 code::Blocks仿真DEBUG版本通过,RELEASE版本报错error: unknown type name ‘HTOUCHINPUT’

用debug编译通过,但是release版编译的时候,报了一大串形如以下的错误,试着查了一下问题

error: unknown type name 'HTOUCHINPUT'
error: unknown type name 'PTOUCHINPUT'
'''

1.DEBUG结果

方法1:修改WINVER,将sdkddkver.h中的WINVER define修改为:
#define WINVER		_WIN32_WINNT_WIN10

在这里插入图片描述

方法2:CODE::BLOCKS中projects->build options->linker settings中,将DEBUG的other link options复制到RELEASE的other link options中

请添加图片描述

2.原因

microsoft官方文档中的资料:
链接: 更新 WINVER 和 _WIN32_WINNT
应该是windows中mingw的问题,这里发现编译器跳转能跳转到HTOUCHINPUT等声明所在函数,winuser.c,其中HTOUCHINPUT等声明跟WINVER相关联
请添加图片描述
继续找,sdkddkver.h中定义了WINVER为_WIN32_WINNT
请添加图片描述
_mingw.h中_WIN32_WINNT为0x502
请添加图片描述
在sdkddkver.h中可以看到现在WINVER应该是被define为0x502,所以WINVER!>0x0600,没有进行HTOUCHINPUT的声明
请添加图片描述
修改为如下,此时WINVER=0x0A00,应该就能正确编译。
请添加图片描述

3.不过还有一个疑点,为什么DEBUG不用修改WINVER编译也能通过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值