我怎么能指定的Xcode项目额外铛选择?

我创建我的自定义clang插件本教程的帮助,我想在我的Xcode的iOS项目会自动运行它。

我需要以下额外的命 ​​令来运行clang

-Xclang -load \ -Xclang ~/static_analysis/llvm/Debug+Asserts/lib/libPluginExample.so \ -Xclang -plugin -Xclang -example-plugin \

我想节省Xcode中产生的其他所有的命令,因为它是很难创建,并通过这些命令对每个Xcode项目。 这就是为什么我选择使用的原因clang插件,但不clang工具。

我该怎么办做到这一点?

或者,我怎么能提取由Xcode的aoutomtically编译器生成的标志,在铛工具来使用呢? (becouse,正确使用工具,我需要指定所有包括目录和所有来源,所有框架)

更新:

我在项目中加入古都命令

设置 - >构建阶段 - >编译源(源双击)

,但在编译的时候出现错误(插件是标准的例子libPrintFunctionNames.dylib从铛源):

错误:无法加载插件'/Users/...llvm/Debug+Asserts/lib/libPrintFunctionNames.dylib“:”执行dlopen(/用户/.../ LLVM /调试+断言/ lib中/ libPrintFunctionNames.dylib,9) :找不到符号:__ZN5clang11ASTConsumer21HandleInterestingDeclENS_12DeclGroupRefE从引用:/Users/.../llvm/Debug+Asserts/lib/libPrintFunctionNames.dylib预计于:在/Users/.../llvm/Debug+Asserts/lib/libPrintFunctionNames平面命名空间。 dylib“命令/应用/ Xcode中2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang失败,退出码1

我曾尝试将l ibPrintFunctionNames.a代替libPrintFunctionNames.dylib ,但美国能源部没有帮助。

也许原因是我建我的LLVM和铿锵的分离源文件的插件,并在Xcode我用铿锵的其他版本。 我会检查。

--------------解决方案-------------

我会指定构建选项OTHER_CFLAGS额外锵选项。 你可以这样做的

target/project Build Settings -> Apple LLVM 5.0 - Custom Compiler Flags -> Other C Flags

或者,您可以指定OTHER_CFLAGS xcodebuild ,例如,

xcodebuild -scheme SampleProject build OTHER_CFLAGS="-Xclang -load -Xclang /path/to/libPrintFunctionNames.dylib -Xclang -plugin -Xclang print-fns"

xcodebuild ,当你不想保持2个目标,这只是在不同的是OTHER_CFLAGS方便。

但是,你是对的,它看起来像你真的需要对作为铛本身是与相同库链接。 至少我从http://llvm.org/releases/download.html下载锵+ LLVM 3.3二进制文件,建有图书馆下载插件,并将其与http://llvm.org铿锵的作品,但不铿锵在Xcode工作 - 我遇到以下错误:

error: unable to find plugin 'print-fns'

我创建的Xcode工作空间它建立锵插件,并说明了如何尝试用默认的iOS应用程序中使用它。 你可以在https://github.com/vsapsai/ClangPluginExample找到它

分类:IOS 时间:2015-03-15 人气:3
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.503 (s). 10 q(s)