Frage

Gibt es einen Objektiv-C-Syntax-Checker?

Ich habe versucht gcc -fsyntax-only Aber es ist nicht wirklich "nur" Syntax ". Es werden immer noch Fehler erzeugt, wenn es in einer einzelnen Implementierungsdatei ausgeführt wird, die Verweise auf externe Frameworks enthält.

Ich suche etwas, das eine Syntax -Überprüfung der einzelnen Header oder Implementierungsdateien durchführen kann, ohne dass Objektdateien verknüpft oder produziert werden können.

dürfen gcc Machen Sie dies mit zusätzlichen Flaggen, die mir nicht bewusst sind, oder gibt es ein weiteres Tool für diese Aufgabe?

Ich möchte dies aus der Befehlszeile tun. Kann XcodeBuild dies für eine einzelne Datei tun? Das Ausführen von XcodeBuild für das gesamte Projekt zum Überprüfen der Syntax einer Datei ist ein bisschen viel.

War es hilfreich?

Lösung 3

Also nach dem Schreiben durch die gcc Mann Seite Ich entdeckte das -F Flag, mit dem Sie der Liste der Verzeichnisse ein Framework -Verzeichnis hinzufügen können gcc Suche nach Header -Dateien.

Dies löst mein Problem.

Verwenden Sie es so: gcc -fsyntax-only -ObjC -F/Path/To/A/Framework -F/Path/To/Another/Framework File.m

Andere Tipps

Es gibt keine Möglichkeit, die Syntax zu überprüfen, ohne dass sie über die Header -Dateien für die von Ihnen verwendeten Frameworks informiert sind. Sie müssen das Flag -Framework verwenden, um die entsprechenden Header -Dateien einzuschließen.

Sie können stattdessen versuchen, nur CLANG -FYNTAX zu verwenden, insbesondere wenn Sie 10.6/xcode 3.2 verwenden. Clang/LLVM hat eine viel bessere Trennung zwischen dem Parser und den anderen Teilen der Compiler -Kette. Sie finden Clang in/Developer/USR/Bin.

Sie können eine einzelne Datei in Xcode [1] mit Build-> Compile (CMD-K) kompilieren, die effektiv eine Syntaxprüfung ist (es gibt keinen Verknüpfungsschritt).

1] Ich gehe davon aus, dass Sie Xcode verwenden, da es kaum Punkte für die Verwendung von Objective-C ohne OS X (wirklich die Cocoa-Frameworks) macht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top