【问题标题】:Embed libclang in an iOS app在 iOS 应用程序中嵌入 libclang
【发布时间】:2012-07-23 20:04:17
【问题描述】:

我需要在 iOS 应用程序中使用 libclang(用于诊断和语法突出显示),但我似乎无法弄清楚如何按原样构建它,更不用说 iOS 了。使用 CMake 我为 LLVM 生成了一个 Xcode 项目,但是 Xcode 用完了用于交换的内存和磁盘空间(总共 25GB!)并且在打开项目时崩溃了。我需要从中获取一个静态库,然后我可以手动导入标头,这应该不是问题。我需要运行什么 configure/make/cmake 命令 [组合]?

注意:如果有任何区别,我只需要 Index.h 文件中的函数。

提前致谢。

【问题讨论】:

    标签: makefile static-libraries llvm clang


    【解决方案1】:

    我创建了一系列关于构建 clang 的文章。

    您将面临一些针对 iOS 的额外挑战,但这是一个起点。

    【讨论】:

    • @corristo 使用下面的标志和此答案进行编译时,使用 make 构建 LLVM 时出现错误 /Users/josh/Documents/xcode/iCode/libclang/build/llvm-build-make/include/llvm/Support/DataTypes.h:36:10: fatal error: 'cmath' file not found。有什么建议?我不知道为什么。一些 Google-ing 说 it goes away after building a few times,但这对我不起作用。
    • 看起来像 DataTypes.h 包含在非 c++ 文件中,因此它找不到 c++ 特定的包含 =\ 奇怪,它是否适用于 OS X?
    • @JoshTheGeek 既然您接受了这个答案,这些说明是否帮助您成功为 armv7 编译 Clang?
    • 我正在尝试做同样的事情,但我的行为很奇怪:stackoverflow.com/questions/24045633/…你最终能做到吗?
    【解决方案2】:

    生成简单的 makefile,而不是 os Xcode 项目,然后使用 make 构建?

    使用这个来配置 cmake/make build 为 iOS 构建: How can I make Cmake use specific compiler and flags when final compilation stage instead of detection?

    【讨论】:

    • 但是如果我只做 ./configure && make 那将为 OS X 构建,对吗?
    • 嗯,是的,我错过了,对不起。然后在不打开的情况下尝试使用xcodebuild构建xcode项目。
    • 那么,这个链接对你来说还不够吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 2015-06-15
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多