我正在Visual Studio 2017上构建程序,并且需要Winbase.h才能写入INI文件。但是,当我尝试调试程序时,即使我没有更改该文件中的任何内容,也遇到了一堆与Winbase.h相关的错误。
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\minwinbase.h(47): error C3646: 'nLength': unknown override specifier
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\minwinbase.h(47): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\minwinbase.h(48): error C3646: 'lpSecurityDescriptor': unknown override specifier
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\minwinbase.h(48): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\minwinbase.h(49): error C3646: 'bInheritHandle': unknown override specifier
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\minwinbase.h(49): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\minwinbase.h(53): error C3646: 'Internal': unknown override specifier
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\minwinbase.h(53): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\minwinbase.h(54): error C3646: 'InternalHigh': unknown override specifier
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\minwinbase.h(54): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
看着minwinbase.h本身,我最大的猜测是它是32位Windows的代码,而我使用的是64位。如果我是对的,那么对于64位平台,除了使用winbase.h,还有其他选择吗?