Предупреждение о срабатывании обратных вызовов Steam во время компиляции в Linux / GCC - PullRequest
1 голос
/ 06 января 2020

Я уже некоторое время работаю над интеграцией в Steamworks, и каждый раз, когда я компилирую на Linux, все мои обратные вызовы вызывают это предупреждение. Один для каждого, так что есть стена этого. При этом обратные вызовы работают отлично.

module.h: In member function 'virtual void Steam::CCallbackInternal__steam_api_call_completed::Run(void*)':
module.h:667:18: warning: offsetof within non-standard-layout type 'Steam' is conditionally-supported [-Winvalid-offsetof]
  667 |   STEAM_CALLBACK(Steam, _steam_api_call_completed, SteamAPICallCompleted_t);
sdk/public/steam/steam_api_internal.h:39:58: note: in expansion of macro '_STEAM_CALLBACK_3'
   39 | #define _STEAM_CALLBACK_HELPER( _1, _2, SELECTED, ... )  _STEAM_CALLBACK_##SELECTED
      |                                                          ^~~~~~~~~~~~~~~~
sdk/public/steam/steam_api_common.h:99:2: note: in expansion of macro '_STEAM_CALLBACK_SELECT'
   99 |  _STEAM_CALLBACK_SELECT( ( __VA_ARGS__, 4, 3 ), ( /**/, thisclass, func, __VA_ARGS__ ) )
      |  ^~~~~~~~~~~~~~~~~~~~~~
module.h:667:3: note: in expansion of macro 'STEAM_CALLBACK'
  667 |   STEAM_CALLBACK(Steam, _steam_api_call_completed, SteamAPICallCompleted_t);
      |   ^~~~~~~~~~~~~~
module.h: In member function 'virtual void Steam::CCallbackInternal__steam_shutdown::Run(void*)':
module.h:668:18: warning: offsetof within non-standard-layout type 'Steam' is conditionally-supported [-Winvalid-offsetof]
  668 |   STEAM_CALLBACK(Steam, _steam_shutdown, SteamShutdown_t);
sdk/public/steam/steam_api_internal.h:39:58: note: in expansion of macro '_STEAM_CALLBACK_3'
   39 | #define _STEAM_CALLBACK_HELPER( _1, _2, SELECTED, ... )  _STEAM_CALLBACK_##SELECTED
      |                                                          ^~~~~~~~~~~~~~~~
sdk/public/steam/steam_api_common.h:99:2: note: in expansion of macro '_STEAM_CALLBACK_SELECT'
   99 |  _STEAM_CALLBACK_SELECT( ( __VA_ARGS__, 4, 3 ), ( /**/, thisclass, func, __VA_ARGS__ ) )
      |  ^~~~~~~~~~~~~~~~~~~~~~
module.h:668:3: note: in expansion of macro 'STEAM_CALLBACK'
  668 |   STEAM_CALLBACK(Steam, _steam_shutdown, SteamShutdown_t);

Пока работают обратные вызовы, интересно, что вызывает эти предупреждения и, возможно, как их исправить.

Я компилирую в Ubuntu Linux 19.10 с G CC / G ++ 9.2.1, для справки.

...