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

相关推荐
iBaoxing2 小时前
mac 使用 launchctl 实现每次登录系统时 frpc 就会自动启动
macos
鹏阿鹏3 小时前
【Mac】终端改色-让用户名和主机名有颜色
macos
易我数据恢复大师7 小时前
怎么设置电脑密码?Windows和Mac设置密码的方法
windows·macos·电脑
几维安全14 小时前
如何保护你的 iOS 应用免受逆向工程攻击
macos·objective-c·cocoa
18号房客14 小时前
macOS开发环境配置与应用开发教程(一)
vscode·macos·visualstudio·eclipse·intellij-idea·phpstorm·visual studio
一道微光14 小时前
Mac的M2芯片运行lightgbm报错,其他python包可用,x86_x64架构运行
开发语言·python·macos
CYBEREXP20081 天前
MacOS M3源代码编译Qt6.8.1
c++·qt·macos
SoraLuna2 天前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
阿7_QuQ2 天前
怎么在Windows上远程控制Mac电脑?
macos
小路恢弘2 天前
使用Mac自带共享实现远程操作
macos