我已经编译了一个 C 库并创建了一个具有适当架构的自定义框架。现在我将它包含在我的项目中,它编译得很好,但在设备上运行时,它会抛出在/Library/Frameworks/Custom.framework 中找不到的错误。我猜它正在查看该设备,但在那里找不到它。如何解决这个问题? 以下是我得到的错误,我正在为 iOS 编译 Ghostscript: GNU gdb 6.3.50-20050815(Apple 版本 gdb-1708)(UTC 2011 年 9 月 16 日星期五 06:56:50)
版权所有 2004 年自由软件基金会,Inc.
GDB 是免费软件,受 GNU 通用公共(public)许可证保护,您是
欢迎在特定条件下对其进行更改和/或分发其副本。
输入“显示复制”以查看条件。
GDB 绝对没有任何保证。输入“显示保修”以了解详细信息。
此 GDB 配置为“--host=i386-apple-darwin --target=arm-apple-darwin”.tty/dev/ttys003
警告:无法读取/Library/Frameworks/Ghostscript.framework/Ghostscript 的符号(未找到文件)。
警告:无法从“Ghostscript”读取符号(尚未映射到内存中)。
目标远程移动/tmp/.XcodeGDBRemote-150-78
切换到remote-macosx协议(protocol)
内存 0x1000 0x3fffffff 缓存
mem 0x40000000 0xffffffff 无
mem 0x00000000 0x0fff 无
[切换到进程7171线程0x1c03]
[切换到进程7171线程0x1c03]
警告:本地未找到副本,正在从远程设备上的内存中读取。这可能会减慢调试 session 的速度。
警告:本地未找到副本,正在从远程设备上的内存中读取。这可能会减慢调试 session 的速度。
共享库应用加载规则全部
警告:本地未找到副本,正在从远程设备上的内存中读取。这可能会减慢调试 session 的速度。
警告:本地未找到副本,正在从远程设备上的内存中读取。这可能会减慢调试 session 的速度。
dyld:库未加载:/Library/Frameworks/Ghostscript.framework/Ghostscript
引用自:/var/mobile/Applications/92492A22-0DA9-49F7-98B6-D517B6E43726/App.app/app
原因:找不到图片
杀死
最佳答案
您无法在手机上使用 iOS 中的动态库。您只能动态使用手机上已有的 Apple 库。对于 Ghost 库,您必须静态链接该库,以便它与整体可执行文件“合并”。这样,库代码不再是外部的,也不需要动态加载,因为它部署在主程序“内部”。
这是另一个答案,告诉您静态链接的过程: Linking a static library to an iOS project in XCode 4
关于c - 在 iOS 中添加自定义框架时未发现错误。如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9847737/