0

我在 x86 架构上使用 OpenIMSCore。我需要为 power-pc 交叉编译 OpenIMS。在 /ser_ims/Makefile.defs 文件中有一个 ppc 选项。但我无法弄清楚如何为 ppc 交叉编译它。没有配置文件,我可以通过它配置 IMS 并为 ppc 编译它。有没有人交叉编译IMS?我尝试通过命令编译

  • 使 CFLAGS="arch=Power Macintosh"
  • 使 CFLAGS="arch=ppc"

但是这两个命令都不起作用。它给出以下错误:

Makefile.defs:598:您使用的是旧的且不受支持的 gcc 版本 (G++),编译风险自负!powerpc-linux-gnu-gcc -g -O9 -funroll-loops -Wcast-align -Wall -DNAME='"ser"' -DVERSION='"2.1.0-dev1 OpenIMSCore"' -DARCH='"i386"' -DOS='linux_' -DOS_QUOTED='"linux"' -DCOMPILER='"powerpc-linux-gnu-gcc G++"' -D__CPU_i386 -D__OS_linux -DSER_VER=2001000 -DCFG_DIR='"/usr/local/etc/ser /"'

core_cmd.c:在函数“core_shmmem”中:mem/../fastlock.h:181:错误:在重新加载“asm”mem/../fastlock.h:358 时找不到类“MQ_REGS”中的寄存器:错误:在重新加载 'asm' mem/../fastlock.h:181 时找不到类 'MQ_REGS' 中的寄存器:错误:在重新加载 'asm' mem/ 时找不到类 'MQ_REGS' 中的寄存器。 ./fastlock.h:181: 错误:'asm' 操作数有不可能的约束

4

1 回答 1

0

您得到的错误可能是由于单独的头文件定义以及最重要的是 x86 架构的不同共享库文件和 PowerPC 架构的不同头文件。您可以使用“-I”标志和用于 PowerPC 架构的共享库文件路径来更改头文件定义,使用 -L 选项可以更改。但是这些所有的改变都可以在 Makefile 中实现,所以你只需要改变不同标志的位置,比如 LDFLAG、CFLAGS 等。

于 2013-10-22T09:31:52.483 回答