将dyld直接合并到源代码中的方法?

时间:2015-11-08 19:01:44

标签: macos dyld

当我尝试打开二进制可执行文件时,我得到:

p.equals(p1)

在使用Homebrew手动安装dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib之后,我接下来会遇到类似的错误(在同一个libpng库中):

dyld

使用Homebrew安装dyld: Library not loaded: /usr/local/lib/libjpeg.8.dylib后,我收到了臭名昭着的错误:

libjpeg

而且,二进制可执行文件再次打开。现在我正在考虑简单地将这两个预处理程序指令合并到src中并重新编译二进制可执行文件:

  1. Illegal instruction: 4预处理程序指令
  2. libpng预处理程序指令
  3. 这是一种很好的方法,如果是这样的话,也许可以将libjpeg库完全安装在一行中(而不是单独安装dyldlibpng以及任何其他必要的组件,因为我收到了libjpeg,即使两者都已安装完毕)。

    有人可以演示一种将Illegal instruction: 4库代码合并到我的src中的简洁方法吗?如有必要,我可以提供给src的Github链接。

1 个答案:

答案 0 :(得分:0)

dyld不是图书馆;它是负责加载库的操作系统的一部分。 (要使用技术术语,它是Mac OS X中的动态链接器,类似于Linux中的ld.so.)您收到的错误消息是dyld,表示无法加载库

在任何情况下,dyld都不是你想要(甚至可以!)“融入你的来源”的东西。它是Mac OS X上C运行时的核心组件,应该保持不变。

您收到的“非法指令”错误表示您的应用程序崩溃了。这可能与你安装的库无关,但我们当然无法调试这个“盲目”。