参考这个关于编译的问题。我不明白我的 Mac 程序如何使用正确的 -arch,使用那些 -arch 标志进行编译, -arch 标志适用于我所在的系统(ppc64 g5),但仍然产生错误的目标代码。
另外,如果我使用交叉编译器并且在 Linux 上为 mac 生成 10.5 代码,这与我上面描述的有什么不同?
背景是我试图编译各种apache模块。它们使用 -arch ppc、ppc64 等进行编译。我没有收到任何错误,我得到了我的 mod_whatever.so。但是,apache 总是会抱怨找不到某些符号。显然,它与编译器生成的内容有关,即使文件类型表明它适用于 ppc、ppc64、i386、x_64(通用二进制)并且似乎与我拥有的所有其他 .so 模块匹配。
我想我不明白它如何能够毫无问题地为我的系统编译,然后说我的系统无法使用它。也许我不明白编译器实际上给了我什么。
编辑:所有错误消息和完整的过程都可以在这里看到。
谢谢你。