我是XCode新手.我想按照这些说明操作.很显然,我错过了一些东西,因为虽然我可以看到我想要的框架被复制到应用程序包中,但我无法引用它.
当我从我以外的机器启动应用程序时(或者如果我从/ Library/Frameworks /中删除OpenCV),我收到以下错误:
Dyld错误消息:未加载库:/Users/david/Library/Frameworks/OpenCV.framework/Versions/A/OpenCV参考自:/Users/g/Demo/Slates/ClipSplitter/build/Release/ClipSplitter.app/Contents/ MacOS/ClipSplitter原因:找不到图像
如果这有任何区别,我的系统上没有用户"david".这也是从互联网上下载的预建OpenCV.(这是评论中要求的项目截图.)
Nik*_*uhe 30
构建OpenCV.framework后,它已配置为使用安装路径/Users/david/Library/Frameworks/.
由于您希望将库用作私有框架(安装在应用程序包装器中ClipSplitter.app/Contents/Frameworks/OpenCV.framework),因此您必须更改其安装路径.这可以使用终端轻松完成,如下所示:
$ install_name_tool -id @executable_path/../Frameworks/OpenCV.framework/OpenCV <your_path>/OpenCV.framework/OpenCV
Run Code Online (Sandbox Code Playgroud)
当然,你必须调整最后一个参数的路径.
现在,在链接应用程序时,修改后的框架告诉链接器dyld必须在应用程序的app包装器中搜索OpenCV.framework(在ClipSplitter.app/Contents/Frameworks目录中).
现在,您必须将OpenCV.framework复制到应用程序包装器.您可以通过添加复制文件构建阶段来执行此操作作为构建过程的一部分:右键单击目标,选择添加 - >新构建阶段 - >新建复制文件构建阶段.从弹出的"目标"中选择"框架"并关闭对话框.
您的目标现在将包含一个新阶段,您可以通过从Xcode窗口左侧的Project Navigator中拖动图标来添加OpenCV.framework.请注意,Xcode不允许您使用"+"按钮将文件夹添加到"复制文件"阶段,因此为了复制框架,您必须将其拖放.
小智 6
您需要将构建设置"安装目录"设置为 @executable_path/../Frameworks
请参阅https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPFrameworks/Tasks/CreatingFrameworks.html中有关在应用程序包中嵌入专用框架的章节
问候
| 归档时间: |
|
| 查看次数: |
17734 次 |
| 最近记录: |