[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,应该就能正确编译。