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

相关推荐
IS6831 天前
视频文案提取技术全景:ASR vs OCR,哪种方案更适合你?
ide·macos·xcode
安且惜2 天前
Windows或mac支持本地抓包
windows·macos
做萤石二次开发的哈哈2 天前
开发者如何调用 ERTC iOS API 完成 SDK 初始化配置?
macos·objective-c·cocoa
AUV11072 天前
Mac 录屏自动缩放怎么设置才不乱跳:自动片段、固定区域与鼠标跟随调试
macos·计算机外设
程序员良辰2 天前
【Mac快速切换JDK】Mac 使用 Homebrew + jenv 快速切换 JDK 版本
java·开发语言·macos
coding4u3 天前
Mac 外接显示器完全指南:从插上线到调好每个参数
macos·计算机外设·文件管理·显示器·策略模式·quick look扩展
zhyf1193 天前
(Mac)Homebrew部署Obsidian+Claudian+Excalidraw
macos
chuan.bai3 天前
Java RAG 实战(第 3 篇):从交互式聊天到多轮上下文
java·人工智能·macos·ai
Chennn__3 天前
开源项目:Recorder — 本地离线 macOS 录音转文字(通用/课堂/雅思,可选 Ollama)
macos
AUV11073 天前
录系统声音用什么 Mac 录屏软件:双音源到成片的五层验收
macos