HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何为Xcode项目指定其他clang选项?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 this tutorial的帮助下创建了自定义clang插件
我想在我的Xcode iOS项目上自动运行它.

我需要在clang上运行以下附加命令,

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

我想保存Xcode生成的所有其他命令,因为很难为每个Xcode项目创建和传递这些命令.这就是为什么我选择使用clang插件但不使用clang工具的原因.

我怎样才能做到这一点?

或者如何提取xcode生成的编译器标志,以便在clang工具中使用它们? (因为,为了正确使用工具,我需要指定所有包含目录,以及所有源代码和所有框架)

更新:

我在Project中添加了很多命令

,
但是在编译时有错误(插件是来自clang源的标准示例libPrintFunctionNames.dylib):

我试图使用libPrintFunctionNames.a而不是libPrintFunctionNames.dylib,但它没有帮助.

也许原因是我在llvm和clang的分离源文件上构建了我的插件,而在xcode中我使用了其他版本的clang.我会检查一下.

解决方法

我会在构建选项OTHER_CFLAGS中指定其他Clang选项.你可以这样做 @H_301_5@target/project Build Settings -> Apple LLVM 5.0 - Custom Compiler Flags -> Other C Flags

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

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

当您不想维护仅在OTHER_CFLAGS中有所不同的2个目标时,xcodebuild很方便.

但你是对的,看起来你真的需要链接相同的库,因为clang本身是链接的.至少我已经从http://llvm.org/releases/download.html下载了Clang LLVM 3.3二进制文件,用下载的库构建了插件,它与http://llvm.org的clang一起使用,但是不能与Xcode的clang一起使用 – 我遇到以下错误

@H_301_5@error: unable to find plugin 'print-fns'

我已经创建了构建Clang插件的Xcode工作区,并展示了如何在认的iOS应用程序中尝试使用它.你可以在https://github.com/vsapsai/ClangPluginExample找到它

大佬总结

以上是大佬教程为你收集整理的ios – 如何为Xcode项目指定其他clang选项?全部内容,希望文章能够帮你解决ios – 如何为Xcode项目指定其他clang选项?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: