我正在尝试让 dylib 在我的 OSX 项目中工作。
我一直在阅读一些示例,特别是这个: Xcode 4 added dylib
但我仍然无法让它工作。
以下是我执行的步骤:
- 将 testing.1.dylib 复制到我的 Xcode 项目文件夹中。
- 冉
sudo install_name_tool -id @executable_path/../Frameworks/testing.1.dylib testing.1.dylib
冉:
otool -L testing.1.dylib
并收到以下信息:testing.1.dylib:
@executable_path/../Frameworks/testing.1.dylib(兼容版本 2.0.0,当前版本 2.0.0)
/usr/lib/libSystem.B.dylib(兼容版本 1.0.0,当前版本 159.1.0)将
testing.1.dylib
作为框架添加到项目中。(使用带有库选项的链接包)。- 此时,当我编译 testing1.dylib 时并没有像我预期的那样被复制到 .App/Framework 中,所以我手动创建了 Framework 路径并将 testing.1.dylib 复制到它: a) mkdir -p testing.app /Contents/Frameworks b) cp testing.1.dylib testing.app/Contents/Frameworks
- 在 Xcode 中,我
Runtime Search Paths
将 Target 和 Project 都更新为:@executable_path/../Frameworks。
现在我将 testing.app 复制到一个单独的新安装的机器上并尝试运行它。我收到以下错误:
dyld:库未加载:/user/local/lib/testing1.dylib 引用自:/Users/me/testing.app/MacOS/./testing 原因:找不到图像
我错过了什么?
注意:运行 install_name_tool 时,我需要使用 sudo 否则会出现以下错误:
install_name_tool:无法打开输入文件:testing.1.dylib 用于写入(权限被拒绝) install_name_tool:无法在文件中偏移:0:testing.1.dylib 用于写入(错误的文件描述符) install_name_tool:不能在文件中写入新标头:testing.1.dylib(错误文件描述符) install_name_tool:无法关闭写入输入文件:testing.1.dylib(错误文件描述符)