2015-02-14 11 views
6

ich ein iOS-Framework erstellt sagen CustomFramework und in der CustomFramework.h Datei von Xcode erstellt hat folgende Inhalte standardmäßigKeine vorherige extern-Deklaration für nicht-statische Variable ‚FrameworkNameVersionString‘

#import <UIKit/UIKit.h> 

//! Project version number for CustomFramework. 
FOUNDATION_EXPORT double CustomFrameworkVersionNumber; 

//! Project version string for CustomFramework. 
FOUNDATION_EXPORT const unsigned char CustomFrameworkVersionString[]; 

// In this header, you should import all the public headers of your framework using statements like #import <CustomFramework/PublicHeader.h> 

Als ich das Projekt erstellen , Bekomme ich diese Warnungen

No previous extern declaration for non-static variable 'CustomFrameworkVersionNumber' 
No previous extern declaration for non-static variable 'CustomFrameworkVersionString' 

Eine Idee, warum die Standard-Framework-Erstellung würde diese Warnungen geben?

+1

Haben Sie das jemals gelöst? – Dov

Antwort

2

In Sprachen der C-Familie wird dies durch eine Variable verursacht, die nicht explizit als static definiert oder in einer Header-Datei als extern deklariert ist.

Sie haben drei Möglichkeiten, damit umzugehen.

  1. Platzieren Sie das Schlüsselwort static vor der Definition.

    static FOUNDATION_EXPORT double CustomFrameworkVersionNumber; 
    
    static FOUNDATION_EXPORT const unsigned char CustomFrameworkVersionString[]; 
    
  2. Erstellen Sie eine separate Headerdatei mit einer extern Definition für jede Variable.

  3. Unterdrückt die Warnung mit -Wmissing-variable-declarations

Diese Frage zu this question ähnlich ist.

Verwandte Themen