mac上cmake编译的库A,给其他库B使用报错ld64.lld: error

ld64.lld: error xxxx.a(xxx.c.o) has version 13.5.0, which is newer than target minimum of 10.11.0

根本原因: 在mac上编译库B时,macosx-version-min为10.11,即macosx sdk的最低版本

所以要求cmake编译的库A也应该指定macosx-version-min为10.11

CMakeLists.txt中添加

SET(CMAKE_OSX_DEPLOYMENT_TARGET 10.11)

另外,编译B库时,根据B库的要求,没有使用xcode最新的sdk版本,而是自己下载的MacOSX11.3.sdk,这个也可以在CMakeLists.txt中指定

A库是c语言库,所以设置CMAKE_C_FLAGS

set(CMAKE_OSX_SYSROOT /Users/project/MacOSX11.3.sdk)

//该项不需要添加,CMAKE_OSX_SYSROOT定义后就会自动会转化为-isysroot /Users/project/MacOSX11.3.sdk

set(CMAKE_C_FLAGS "{CMAKE_CXX_FLAGS} --sysroot {CMAKE_OSX_SYSROOT} ")

相关推荐
2501_9280946512 分钟前
Magnet Pro Macbook窗口分屏管理(Mac窗口分屏)
macos·mac·窗口分屏
玄辰星君2 小时前
【在 macOS 系统上使用 Docker 启动 Kafka 的完整指南】
macos·docker·kafka
xingxing_F10 小时前
Smooze Pro for mac 鼠标手势增强软件
macos·计算机外设
冷冷的菜哥10 小时前
21款m1 max升级到macOS 13——Ventura
macos·macbook·苹果·ventura·m1 max
奶油话梅糖19 小时前
深入解析交换机端口安全:Sticky MAC的工作原理与应用实践
网络·安全·macos
1024小神1 天前
macos使用brew报错解决办法
macos
爱转呼啦圈的小兔子1 天前
Mac中修改Word的Normal.dotm文件
macos·word
wanghao6664551 天前
Mac测试端口连接的几种方式
macos
Digitally2 天前
如何将视频从安卓设备传输到Mac?
android·macos
心灵宝贝2 天前
Mac用户安装JDK 22完整流程(Intel版dmg文件安装指南附安装包下载)
java·开发语言·macos