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} ")

相关推荐
sysinside11 小时前
macOS Tahoe 26.4.1 (25E253) 正式版 ISO、IPSW、PKG 下载
macos·tahoe
遥不可及zzz11 小时前
[特殊字符] Android AAB 一键安装工具配置指南
android·macos
踏着七彩祥云的小丑2 天前
Mac——已安装工具查找
macos
小红的布丁2 天前
公网 IP、私网 IP、路由表、转发表与 MAC 地址的关系
tcp/ip·macos·智能路由器
Lecxcy_Kastreain2 天前
如何自适应 MacOS
macos
简单点了2 天前
mac安装node环境
macos
简单点了2 天前
mac安装vm装win11虚拟机
macos
todoitbo2 天前
装了 QClaw 之后,我卸掉了好几个 Mac 软件
人工智能·macos·ai·软件·openclaw·qclaw
總鑽風2 天前
搭建Spring Boot + ELK日志平台,实现可视化日志监控
spring boot·elk·macos
CS创新实验室2 天前
《计算机网络》深入学:IP地址 VS. MAC地址
tcp/ip·计算机网络·macos