kloder-games / godot-admob

Module Admob for Godot engine
MIT License
362 stars 62 forks source link

iOS compilation fails #159

Closed svprdga closed 3 years ago

svprdga commented 3 years ago

OS target (Android/iOS): iOS

Godot version: 3.3.2-stable

Issue description:

I have followed the instructions on how to setup iOS admob ads, but when I try to follow the official docs on how to compile the engine I got the following error:

scons: Reading SConscript files ...
Checking for C header file mntent.h... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
[  6%] Compiling ==> modules/admob/ios/src/godotAdmob.mm
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
modules/admob/ios/src/godotAdmob.mm:25:9:{25:9-25:15}: error: receiver type 'AdmobBanner' for instance message is a forward declaration [5]
        [banner release]; //free banner
         ^~~~~~
modules/admob/ios/src/godotAdmob.h:10:8: note: forward declaration of class here [2]
 @class AdmobBanner;
        ^
modules/admob/ios/src/godotAdmob.mm:26:9:{26:9-26:21}: error: receiver type 'AdmobInterstitial' for instance message is a forward declaration [5]
        [interstitial release]; //free
         ^~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:12:8: note: forward declaration of class here [2]
 @class AdmobInterstitial;
        ^
modules/admob/ios/src/godotAdmob.mm:27:9:{27:9-27:17}: error: receiver type 'AdmobRewarded' for instance message is a forward declaration [5]
        [rewarded release]; //free
         ^~~~~~~~
modules/admob/ios/src/godotAdmob.h:14:8: note: forward declaration of class here [2]
 @class AdmobRewarded;
        ^
modules/admob/ios/src/godotAdmob.mm:47:16:{47:16-47:27}: error: receiver 'AdmobBanner' for class message is a forward declaration [5]
     banner = [[AdmobBanner alloc] init];
                ^~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:10:8: note: forward declaration of class here [2]
 @class AdmobBanner;
        ^
modules/admob/ios/src/godotAdmob.mm:47:15:{47:15-47:34}: error: receiver type 'AdmobBanner' for instance message is a forward declaration [5]
     banner = [[AdmobBanner alloc] init];
               ^~~~~~~~~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:10:8: note: forward declaration of class here [2]
 @class AdmobBanner;
        ^
modules/admob/ios/src/godotAdmob.mm:48:6:{48:6-48:12}: error: receiver type 'AdmobBanner' for instance message is a forward declaration [5]
     [banner initialize :isReal :instanceId];
      ^~~~~~
modules/admob/ios/src/godotAdmob.h:10:8: note: forward declaration of class here [2]
 @class AdmobBanner;
        ^
modules/admob/ios/src/godotAdmob.mm:50:22:{50:22-50:39}: error: receiver 'AdmobInterstitial' for class message is a forward declaration [5]
     interstitial = [[AdmobInterstitial alloc] init];
                      ^~~~~~~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:12:8: note: forward declaration of class here [2]
 @class AdmobInterstitial;
        ^
modules/admob/ios/src/godotAdmob.mm:50:21:{50:21-50:46}: error: receiver type 'AdmobInterstitial' for instance message is a forward declaration [5]
     interstitial = [[AdmobInterstitial alloc] init];
                     ^~~~~~~~~~~~~~~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:12:8: note: forward declaration of class here [2]
 @class AdmobInterstitial;
        ^
modules/admob/ios/src/godotAdmob.mm:51:6:{51:6-51:18}: error: receiver type 'AdmobInterstitial' for instance message is a forward declaration [5]
     [interstitial initialize :isReal :instanceId :banner];
      ^~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:12:8: note: forward declaration of class here [2]
 @class AdmobInterstitial;
        ^
modules/admob/ios/src/godotAdmob.mm:53:18:{53:18-53:31}: error: receiver 'AdmobRewarded' for class message is a forward declaration [5]
     rewarded = [[AdmobRewarded alloc] init];
                  ^~~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:14:8: note: forward declaration of class here [2]
 @class AdmobRewarded;
        ^
modules/admob/ios/src/godotAdmob.mm:53:17:{53:17-53:38}: error: receiver type 'AdmobRewarded' for instance message is a forward declaration [5]
     rewarded = [[AdmobRewarded alloc] init];
                 ^~~~~~~~~~~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:14:8: note: forward declaration of class here [2]
 @class AdmobRewarded;
        ^
modules/admob/ios/src/godotAdmob.mm:54:6:{54:6-54:14}: error: receiver type 'AdmobRewarded' for instance message is a forward declaration [5]
     [rewarded initialize :isReal :instanceId :banner];
      ^~~~~~~~
modules/admob/ios/src/godotAdmob.h:14:8: note: forward declaration of class here [2]
 @class AdmobRewarded;
        ^
modules/admob/ios/src/godotAdmob.mm:69:16:{69:16-69:27}: error: receiver 'AdmobBanner' for class message is a forward declaration [5]
     banner = [[AdmobBanner alloc] init];
                ^~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:10:8: note: forward declaration of class here [2]
 @class AdmobBanner;
        ^
modules/admob/ios/src/godotAdmob.mm:69:15:{69:15-69:34}: error: receiver type 'AdmobBanner' for instance message is a forward declaration [5]
     banner = [[AdmobBanner alloc] init];
               ^~~~~~~~~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:10:8: note: forward declaration of class here [2]
 @class AdmobBanner;
        ^
modules/admob/ios/src/godotAdmob.mm:70:6:{70:6-70:12}: error: receiver type 'AdmobBanner' for instance message is a forward declaration [5]
     [banner initialize :isReal :instanceId];
      ^~~~~~
modules/admob/ios/src/godotAdmob.h:10:8: note: forward declaration of class here [2]
 @class AdmobBanner;
        ^
modules/admob/ios/src/godotAdmob.mm:72:22:{72:22-72:39}: error: receiver 'AdmobInterstitial' for class message is a forward declaration [5]
     interstitial = [[AdmobInterstitial alloc] init];
                      ^~~~~~~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:12:8: note: forward declaration of class here [2]
 @class AdmobInterstitial;
        ^
modules/admob/ios/src/godotAdmob.mm:72:21:{72:21-72:46}: error: receiver type 'AdmobInterstitial' for instance message is a forward declaration [5]
     interstitial = [[AdmobInterstitial alloc] init];
                     ^~~~~~~~~~~~~~~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:12:8: note: forward declaration of class here [2]
 @class AdmobInterstitial;
        ^
modules/admob/ios/src/godotAdmob.mm:73:6:{73:6-73:18}: error: receiver type 'AdmobInterstitial' for instance message is a forward declaration [5]
     [interstitial initialize :isReal :instanceId :banner];
      ^~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:12:8: note: forward declaration of class here [2]
 @class AdmobInterstitial;
        ^
modules/admob/ios/src/godotAdmob.mm:75:18:{75:18-75:31}: error: receiver 'AdmobRewarded' for class message is a forward declaration [5]
     rewarded = [[AdmobRewarded alloc] init];
                  ^~~~~~~~~~~~~
modules/admob/ios/src/godotAdmob.h:14:8: note: forward declaration of class here [2]
 @class AdmobRewarded;
        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
scons: *** [modules/admob/ios/src/godotAdmob.iphone.opt.arm.o] Error 1
scons: building terminated because of errors.
gumaciel commented 3 years ago

Hi, sorry for this but this module won't work for recent version of Godot.

Please consider using this one: https://github.com/Poing-Studios/Godot-AdMob-Android-iOS

svprdga commented 3 years ago

Okey.