如何将项目内的库添加到CMake构建的macOS Bundle中
将项目库添加到macOS Bundle的步骤
假设你使用Xcode开发,按以下操作配置即可解决问题:
1. 让启动器Bundle依赖库目标
- 选中你的启动器Bundle目标,切换到Build Phases标签页
- 找到Dependencies区域,点击右下角的
+按钮 - 在弹出的列表中选择你的库目标,点击Add。这会确保Xcode先编译库,再编译启动器Bundle。
2. 添加复制文件阶段,把库打包进Bundle
- 仍在Build Phases标签页,点击左上角的
+按钮,选择New Copy Files Phase - 将该阶段的Destination设置为Frameworks(动态库的标准存放位置)
- 点击阶段内的
+按钮,选择你的库产物(比如libYourLibrary.dylib或YourLibrary.framework),点击Add - 取消勾选Copy only when installing,保证开发调试时库也会被复制到Bundle中
3. 配置库的安装路径(动态库必填)
- 选中你的库目标,切换到Build Settings标签页
- 搜索Installation Directory(或直接找
INSTALL_PATH),设置值为@executable_path/../Frameworks - 这个路径会让启动器在运行时从Bundle的
Contents/Frameworks目录加载库,和我们复制文件的位置匹配
4. 确认链接配置
- 回到启动器Bundle目标的Build Phases,检查Link Binary With Libraries区域是否已包含你的库目标
- 如果没有,点击
+添加它,确保启动器能正确链接库的符号
完成上述步骤后重新构建项目,右键Bundle包选择「Show Package Contents」,就能在Contents/Frameworks目录下看到你的库了。
内容的提问来源于stack exchange,提问作者ManuelSchneid3r
相关产品推荐
相关产品推荐

