Search code examples
iosobjective-cllvmllvm-clang

Clang(LLVM) compile with frameworks


I am using:

clang -ObjC -framework UIKit -o /var/compiled/c /Documents/Source/main.m

In OS X terminal. I also tried UIKit.framework, but I am getting

Fatal Error: 'UIKit/UIKit.h' not found

with both.

Any suggestions?

Thanks


Solution

  • Compiling for iOS without using Xcode is not easy. In your case, you're trying to use an iOS framework but you're using neither the iOS toolchain's compiler nor the iOS SDK.

    If you look at the compile transcript for an Xcode project you'll see some of the flags that are necessary. Things you'll need include:

    • xcrun -sdk iphoneos clang to choose the correct compiler and SDK
    • -arch armv7s to choose the correct CPU architecture
    • -mios-version-min=6.1 to set a minimum deployment target

    Some older versions of Xcode also require -isysroot=/path/to/iPhoneOS6.1.sdk to choose the correct SDK because xcrun did not do it automatically.