JHHK

欢迎来到我的个人网站
行者常至 为者常成

LLVM(三):clang、xcrun命令

目录

clang命令

编译成可执行文件

clang main.m -o main -framework Foundation

将OC代码转换成C++代码

clang -rewrite-objc main.m

__weak、__strong等修饰符报错,这是因为__weak需要运行时objc的支持,需要指定运行时环境

clang -rewrite-objc -fobjc-arc -fobjc-runtime=ios-8.0.0 main.m

引入了UIKit框架

clang -rewrite-objc -fobjc-arc -fobjc-runtime=ios-8.0.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk main.m

xcrun命令

其实,xcode安装的时候顺带安装了xcrun命令,xcrun命令在clang的基础上进行了一些封装,要更好用一些。

将OC代码转换成C++代码

##### 在模拟器下编译
xcrun -sdk iphonesimulator clang -rewrite-objc main.m

#在真机下编译
xcrun -sdk iphoneos clang -rewrite-objc main.m

指定架构

xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m

运行时支持

xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc -fobjc-arc -fobjc-runtime=ios-9.0.0 main.m

有时候我们在本机安装了多个Xcode,可以指定xcrun使用不同的Xcode对应的SDK

xcode-select -s /Applications/Xcode9.4.1.app

列出当前xcrun对应的SDK的版本的命令

xcodebuild -showsdks

行者常至,为者常成!





R
Valine - A simple comment system based on Leancloud.