解决CMake交叉编译iOS版本时architecture not supported的错误
来源:互联网 发布:sql语句select语法 编辑:程序博客网 时间:2024/06/05 16:48
最近在引入一个内部库,使用CMake编译成各个平台的版本,以便于移动平台使用。
关于CMake的配置方式,可以参考
http://blog.csdn.net/ktigerhero3/article/details/70313350
关于交叉编译,主要参考
http://blog.codingcoder.com/_book/1%20Tech/2017-10-20-Unity-crossplatform-plugins-with-cmake.html
在Windows/Mac/Android平台都成功编译后,在iOS版本编译的时候遇到了形如以下的错误:
cdefs.h:761:2: error: Unsupported architecture
_types.h:34:2: error: architecture not supported
_types.h:55:9: error: unknown type name ‘__int64_t’; did you mean ‘__int128_t’?
于是google关键词 “cdefs.h:761:2: error: Unsupported architecture” ,stackoverflow上一个看起来比较靠谱的回答提到是编译flag的问题
https://stackoverflow.com/questions/5334095/cmake-multiarchitecture-compilation
于是我看了下中间cmake生成的flags.make文件,果然在C_FLAG/CXX_FLAG中都没有-arch参数
既然知道了这个问题,就可以找相应的解决方案了,google “cmake specify the architecture iOS”,依照这里的回答:https://stackoverflow.com/questions/12630970/compiling-for-ios-with-cmake
在CMakeLists.txt或iOS.make中加入
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch armv7 -arch arm64")set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch armv7 -arch arm64")
编译就正常了
- 解决CMake交叉编译iOS版本时architecture not supported的错误
- 解决真机调试iPad Air设备时的错误:architecture not supported的办法
- CMake的交叉编译
- CMake的交叉编译
- cmake编译opencv时的错误与解决
- iOS 编译含C++代码出现ld: symbol(s) not found for architecture i386错误之解决
- Cmake的交叉编译入门
- CMake交叉编译的入门教程
- 解决NDK交叉编译 selected processor does not support ARM mode libtheora的错误
- 解决NDK交叉编译 selected processor does not support ARM mode libtheora的错误
- 关于clover2运行时出现的"annotations are not supported in -source 1.3"错误的解决
- IOS 编译错误:-fembed-bitcode is not supported on versions of iOS prior to 6.0
- cmake错误的解决
- IOS错误之 ---- registerForRemoteNotificationTypes: is not supported
- MT7688: opcode not supported on this processor:mips1 (mips1) 编译错误解决
- 记录一点关于CMAKE的交叉编译
- lib_clapack.a(dlasyf.o): could not read symbols: File in wrong format---- 交叉编译opencv2.0遇到的错误解决
- cmake交叉编译
- XPath总结
- 33岁才接触博客是不是已经out了?
- vmware workstation14永久激活密钥分享
- jq屏蔽右键
- elasticsearch源码分析之索引操作(九)
- 解决CMake交叉编译iOS版本时architecture not supported的错误
- 打造前端 Deepin Linux 工作环境——安装系统
- Apache如何绑定域名?
- GO语言常用库与使用goglang IDE编写GO项目
- JPA EntityManager详解(二)
- 蓝桥杯 算法提高 三个整数的排序
- 一个菜鸟的一点思考
- 在Windows平台上如何批量重命名文件
- CAS 服务端部署 部分配置