Clang(LLVM) compile with frameworks

假如想象 提交于 2019-12-17 13:26:52

问题


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


回答1:


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.




回答2:


This has been already answered in the Apple developer forum, you can find the whole discussion in here. In the answer marked as the solution to the question they say:

1 - check your PATH variable first:

$ echo $PATH

2 - assuming /System/Library/Frameworks is not included in PATH, add it:

$ PATH=$PATH:/System/Library/Frameworks

3 -now we're ready for Mr. Kochun's incantation:

$ clang -fobjc-arc -framework Foundation main.m prog1


来源:https://stackoverflow.com/questions/16387484/clangllvm-compile-with-frameworks

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!