如何修改编译步骤为MacOS 10.14编译兼容的C++程序?
如何编译兼容MacOS 10.14的C++程序(基于Conan和CMake)
要让编译出的二进制兼容MacOS 10.14,需要在Conan和CMake的编译流程中指定MacOS部署目标(MACOSX_DEPLOYMENT_TARGET),具体修改步骤如下:
1. 修改Conan安装命令
Conan负责管理依赖和生成CMake预设,需要在conan install阶段指定部署目标,确保依赖库和后续CMake配置都适配10.14:
针对Conan 2.x版本
使用配置参数直接指定部署目标:
conan install . --build=missing -c tools.build:macos_deployment_target=10.14
针对Conan 1.x版本
使用settings参数设置系统版本:
conan install . --build=missing -s os=Macos -s os.version=10.14
2. 执行CMake编译步骤
Conan会自动将部署目标注入到conan-default预设中,继续执行原有的CMake命令即可:
cmake --preset conan-default cmake --build --preset conan-release
3. 验证兼容版本
编译完成后,通过otool检查二进制的最低兼容系统版本:
otool -l mybin | grep -A2 platform
输出中minos字段应显示为10.14,说明配置生效。
额外注意事项
- 确保你的Xcode支持MacOS 10.14部署目标:较新版本Xcode通常默认支持旧版本部署目标,若遇到SDK缺失问题,可在Xcode的"Preferences > Locations > Command Line Tools"中选择兼容的工具链版本。
- 若依赖库预编译包不支持10.14,
--build=missing参数会强制从源码编译依赖,确保依赖也适配目标系统版本。
内容的提问来源于stack exchange,提问作者Fractale
相关产品推荐
相关产品推荐

