CMake iOS 64位与32位架构整合
iOS 架构的整合一直是个让人头大的事,是想同时支持 32 位和 64 位设备。CMake 的工具链配置就挺好用,灵活又清晰,配合CMAKE_TOOLCHAIN_FILE
,能轻松生成包含armv7
和arm64
的 Fat Binary。
工具链文件的写法不复杂,指定系统类型、架构、SDK 路径这些基础配置都在里面搞定。像下面这样:
set(CMAKE_SYSTEM_NAME iOS)
set(CMAKE_OSX_ARCHITECTURES "armv7;arm64")
set(CMAKE_IOS_SDK_ROOT /路径/to/SDK)
在CMakeLists.txt
里引入它,项目就能同时编译出两个架构的版本。target_link_libraries
用来加你需要的库也方便。
编译完就是一个 Fat Binary,iPhone 5 到 iPhone 15 都能跑,不用单独生成多个包,省事多了。
如果你也在折腾像libfreetype
、OpenSSL
这种库的 iOS 移植,建议配合看看相关资料,比如:
,如果你项目还要支持老设备,又不想搞多个架构单独编译,试试这种 CMake 工具链整合的方式,真的省心不少。
6.24KB
文件大小:
评论区