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

相关推荐
YungFan24 分钟前
SwiftUI-MLX本地大模型开发(二)
macos·llm·swiftui
1alisa4 小时前
OBS 录屏软件 for Mac 视频录制
macos·音视频
追光天使13 小时前
Mac 上使用 mysql -u root -p 命令,出现“zsh: command not found: mysql“?
数据库·mysql·macos
www666_13 小时前
windows&macOs安装minio
macos
Wetoria15 小时前
macOS 硬盘空间清理
macos
1alisa16 小时前
Typora Markdown编辑器 for Mac
macos·编辑器
Bruce_Liuxiaowei1 天前
构建macOS命令速查手册:基于Flask的轻量级Web应用实践
前端·macos·flask
fukai77221 天前
PowerPhotos:拯救你的Mac照片库,告别苹果原生应用的局限
macos
哈哈哈哈哈哈哈哈哈...........1 天前
在 macOS 上安装和配置 Aria2 的详细步骤
macos
ghostwritten1 天前
如何在 Mac 上彻底卸载 DMG 软件
macos