diff --git a/interfaces/kits/ability_lite/ability_loader.h b/interfaces/kits/ability_lite/ability_loader.h index e35e2236a5cef76b03e876b7db4f40bff3cf6c94..20e4f8da8b9aeec46d383e6a0c6e689bb193105e 100644 --- a/interfaces/kits/ability_lite/ability_loader.h +++ b/interfaces/kits/ability_lite/ability_loader.h @@ -127,11 +127,13 @@ private: */ #ifdef ABILITY_WINDOW_SUPPORT #define REGISTER_AS(className) \ +do{\ __attribute__((constructor)) void RegisterAS##className() { \ AbilityLoader::GetInstance().RegisterAbilitySlice(#className, []()->AbilitySlice* { \ return new className; \ }); \ - } + }\ +}while(0) #endif } // namespace OHOS #endif // OHOS_ABILITY_LOADER_H \ No newline at end of file