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