是否有Objective-C语法检查程序?
我尝试了gcc -fsyntax-only
,但实际上并不是'仅语法'。如果在具有外部框架引用的单个实现文件上运行,它仍会产生错误。
我正在寻找可以对单个标头或实现文件执行语法检查而不尝试链接或生成目标文件的内容。
gcc
可以使用我不知道的其他标志来执行此操作,还是有其他工具可以完成此任务?
我想从命令行执行此操作。 xcodebuild可以为单个文件执行此操作吗?为整个项目运行xcodebuild以检查一个文件的语法有点多。
答案 0 :(得分:3)
如果不知道您正在使用的框架的头文件,它就无法检查语法。您需要使用-framework标志来包含相关的头文件。
答案 1 :(得分:1)
您可以尝试仅使用clang -fsyntax,特别是如果您使用的是10.6 / Xcode 3.2。 Clang / LLVM在解析器和编译器链的其他部分之间有更好的分离。你可以在/ Developer / usr / bin中找到clang。
答案 2 :(得分:1)
因此,在浏览gcc
手册页后,我发现了-F
标志,它允许您将一个框架目录添加到目录列表gcc
中搜索头文件。
这解决了我的问题。
像这样使用:gcc -fsyntax-only -ObjC -F/Path/To/A/Framework -F/Path/To/Another/Framework File.m
答案 3 :(得分:0)
您可以使用Build-> Compile(cmd-K)在Xcode [1]中编译单个文件,这实际上是一种语法检查(没有链接步骤)。
[1]我假设您正在使用Xcode,因为没有OS X(实际上是Cocoa框架)使用Objective-C没什么意义。