我现在已经在我的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 Linux19.10下用GCC / G++ 9.2.1编译的,供参考。
发布于 2021-07-07 03:16:33
我不得不让他们闭嘴
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Winvalid-offsetof"
// my code
#pragma GCC diagnostic pophttps://stackoverflow.com/questions/59618804
复制相似问题