我目前有一个在 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/