$ non_lazy_ptr Linkfehler bei agvtool Versionsvariablen?

8

Ich habe agvtool für eine meiner iPhone-Apps grundsätzlich verwendet und kürzlich einen Grund gefunden, warum ich die Versionsvariable überprüfen kann (damit ich den Hilfeinhalt erneut in die .px kopieren kann) Dokumentenverzeichnis, wenn es veraltet ist). Die Variable MyAppVersionNumber , die in MyApp_vers.c definiert ist, wird während des Builds automatisch generiert. Es wird in einer .o-Datei generiert und erscheint in (der vorherigen Version?) Der verknüpften App selbst. So weit, so gut, scheint es.

So, jetzt habe ich ein extern double MyAppVersionNumber in der .m -Datei deklariert, wo ich das verwenden muss (und später versuche, es zu benutzen, nur in einer NSLog -Anweisung, um loszulegen), und ich versuche zu bauen für den iPhone-Simulator, und erhalten Sie einen Link-Fehler:

%Vor%

Also, was muss ich anders machen, um das zu verlinken?

Ich habe nach $ non_lazy_ptr und agvtool gegoogelt und überhaupt nichts bekommen, und für nur $ non_lazy_ptr, was ein paar Dinge gegeben hat, aber hauptsächlich für Bibliotheken gilt, was das nicht ist, wirklich (oder?). Und in meinen bisherigen Ausgrabungen habe ich noch eine Seite über agvtool aufgeschlagen, die tatsächlich ausführlich über die Verwendung der Variablen spricht - die, die ich gelesen habe, sagen beiläufig, dass sie eine externe Variable deklarieren, was ich getan habe .

Wer ist damit vertraut und / oder kann er Ihnen anderweitig helfen?

Danke!

    
lindes 31.07.2010, 02:30
quelle

1 Antwort

1

Da agvtool den CFBundleVersion-Wert Ihres Plists aktualisiert, empfehle ich Ihnen, die Versionsnummer zur Laufzeit mit:

aufzurufen %Vor%     
ctpenrose 15.03.2011 06:16
quelle