Wie funktioniert die #import-Suche nach Dateien in Objective-C
Kann ich nur finden, ein wenig Informationen über das Thema. Mein Verständnis ist jetzt, dass
#import <my.h> //searches in the system paths
#import "my.h" //searches in the same dir as the source file - is that right?
Habe ich eine statische Bibliothek mit .h Dateien in einen anderen Speicherort. Kann ich den compiler suchen einen neuen Ordner .h-Dateien durch #import "meine.h" wie würde ich in VC++
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihr Verständnis ist so ziemlich richtig, außer dass
#import "my.h"
sucht im gleichen Verzeichnis wie die Quelldatei, und alle system-Pfade (die gleichen, gesucht#import <my.h>
).Ja. Sie müssen übergeben Sie die
-I
flag für gcc. Zum Beispiel, wenn Sie wollen, suchenpath/to/my-other-dir
Sie würde passieren-Ipath/to/my-other-dir
zu gcc. Wenn Sie mit Xcode, können Sie dies mithilfe der build-Optionen für Ihr Ziel; schauen Sie für die option genannt Header Search Paths, unter Suchpfade.In Objective-C,
#import
ist nur#include
beinhalten wird jede Datei nur einmal. So wird es Folgen#include
Regeln die Suche in der Datei.Den
<…>
zeigt den system-Headern und -"…"
Benutzer-Header. Welchen Weg der Präprozessor wird davon abhängen, die Ihre Einstellungen. Für GCC<…>
Aussehen wird:und auch die Pfade Hinzugefügt, indem die
-I
und-F
Schalter."…"
im aktuellen Verzeichnis, und dann werden diese Hinzugefügt, indem die-iquote
wechseln und dann die system-Pfade.Sehen http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html zum detail.
Ebenfalls von Relevanz
http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html