c++ - 从不同的架构加载 dylib

标签 c++ c macos x86-64 i386

我目前有一个在 x86_64 中编译的程序,它依赖于相当多的也在 x86_64 中编译的库(因此重新编译它们将是一个大项目)。我正在寻找运行 i386 dylib,但是每当我使用 dlopen 加载它时,我都会收到一条错误消息,指出它不是为我的架构构建的。有没有办法将 i386 库直接转换为 x86_64(我没有这方面的源代码)或在 x86_64 架构上运行它?

最佳答案

您不能在 x86_64 可执行文件中加载 i386 库。

从 i386 库中获取 x86_64 库的唯一方法是为正确的目标重新编译它。如果您没有源代码,则无法完成此操作。

您可以为 i386 重新编译所有代码并使用该库。

关于c++ - 从不同的架构加载 dylib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212870/

相关文章:

c++ - Meshlab如何加载标注点云?

c - 将版本信息写入注释 block

在Arduino IDE中编译uIP库

java - JFilechooser外观

c++ - 链接器错误 : undefined reference to `vtable of QGLViewer’

c++ - 在 des ecb 中加密数据

c - python 列表调整大小的实现中的错误?

swift - Mac app切换/etc/hosts文件,如何允许访问?

python - 在 mac 上安装 mongo-edu 时出错

c++ - 如果存在打开的文件 fd,inotify 不会引发 DELETE_SELF