Gcc mips编译LSB MSB

Gcc mips编译LSB MSB,gcc,compilation,mips,Gcc,Compilation,Mips,我正在交叉编译MIPS处理器(little endian arch)的开放源码库oRTP。我的开发系统是i386linux。我以如下方式运行配置脚本: /configure--host=mips linux 配置脚本使用mips linux gnu gcc编译器并构建库。但是,当我尝试将库与可执行文件链接时,会得到未定义的符号,表示ortp库是为big-endian构建的,目标是little-endian 在目标上的现有可执行文件上运行file命令将显示 ELF 32位LSB可执行文件,MIPS

我正在交叉编译MIPS处理器(little endian arch)的开放源码库oRTP。我的开发系统是i386linux。我以如下方式运行配置脚本:

/configure--host=mips linux

配置脚本使用mips linux gnu gcc编译器并构建库。但是,当我尝试将库与可执行文件链接时,会得到未定义的符号,表示ortp库是为big-endian构建的,目标是little-endian

在目标上的现有可执行文件上运行
file
命令将显示

ELF 32位LSB可执行文件,MIPS,MIPS32 rel2版本1,动态 链接(使用共享libs),用于GNU/Linux 2.6.12,未知 能力0xf41=0x756e6700,能力未知0x70100= 0x1040000,未剥离

在ortp对象文件上运行
file
,显示

ELF 32位MSB可重定位,MIPS,MIPS32 rel2版本1(SYSV),带 未知功能0x41000000=0xf676e75,具有未知功能 0x10000=0x70401,未剥离

尽管这两个文件都是为MIPS构建的,但现有的可执行文件是LSB,其中作为ortp编译的对象文件是MSB


我如何为MIPS和LSB进行编译以使链接正常进行?

嗯,我对自己感觉很糟糕。我明确地将CC编译器命名为mipsel-linux-gcc,问题得到了解决

CC=/path/to/mipsel-linux-gcc./configure--host=mips-linux


因此,方法是使用mipsel linux gcc编译器,以防您为小端mips处理器进行编译,并为大端mips处理器使用mips linux gcc专用编译器。

好吧,我觉得自己很糟糕。我明确地将CC编译器命名为mipsel-linux-gcc,问题得到了解决。CC=/path/to/mipsel-linux-gcc./configure--host=mips-linuxI遇到了相同的问题,但是我使用的工具链中没有mipsel-linux-gcc。我不得不使用'-EL'选项交叉编译一个小小的endian架构。