Я пытаюсь добавить соглашение о вызовах stdcall в свою скомпилированную GNU DLL.
Вот мой код:
typedef void (__stdcall * CTMCashAcceptCallback) (
const struct CTMEventInfo,
const struct CTMAcceptEvent );
Это было вызвано этой функцией:
LIBCTMCLIENT_FUNC void ctm_add_cash_accept_event_handler(CTMCashAcceptCallback);
куда:
#define LIBCTMCLIENT_FUNC LIBCTMCLIENT_C_LINKAGE __declspec(dllexport) __stdcall
Проблема в том, что он дает мне эту заметку:
примечание: ожидается «CTMCashAcceptCallback», но аргумент имеет тип «void (*) (const struct CTMEventInfo, const struct CTMAcceptEvent)»
Когда я удаляю __stdcall или заменяю его на __cdecl, он не дает этой информации. Нельзя ли использовать stdcall при компиляции через GNU или может я не так делаю?