В настоящее время я перемещаю проект C ++ из VS6 в VS2008, но я столкнулся со следующей ошибкой для многих функций в shobjidl.h
error C2733: second C linkage of overloaded function 'HWND_UserMarshal' not allowed c:\program files\microsoft sdks\windows\v6.0a\include\shobjidl.h 28830
Это касается не только HWND_UserMarshall, но и других функций.в этом заголовке, например HWND_UserSize, HWND_UserFree и HWND_UserFree64.
Я понимаю, что эта ошибка возникает, когда функция extern "C" объявляется с другим набором параметров, однако это происходит в заголовке SDK, а не в одном.что я могу изменить.
Есть ли у кого-нибудь предложения о том, какими должны быть мои дальнейшие действия?
РЕДАКТИРОВАТЬ: заголовок является заголовком Microsoft и в верхней части содержит следующие комментарии
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 7.00.0499 */
/* Compiler settings for shobjidl.idl:
Oicf, W1, Zp8, env=Win32 (32b run)
protocol : dce , ms_ext, c_ext, robust
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING( )