使用Autoconf对ARM进行交叉编译 [英] Cross-compiling for ARM with Autoconf
问题描述
我无法使用autconf为我的手臂交叉编译库.
I am having trouble cross-compiling a library for my arm board using autconf.
我正在使用此行:
./configure --target=arm-linux --host=arm-linux --prefix=/bla/bla/bla/linux_arm_tool CFLAGS='-m32'
make
make install
当我执行file
进行检查时,我得到:
When I do file
to check it I get:
libjpeg.so.8.4.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
这似乎根本不对,但是我还是尝试使用它……我得到了:
That doesn't seem right at all, but I tried using it anyway... and I get:
/usr/lib/gcc/arm-linux-gnueabi/4.5.3/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /bla/bla/bla/bla/../linux_arm_tool/lib/libjpeg.so when searching for -ljpeg
我很茫然,我已经谷歌搜索了一个小时...
I'm at a loss, I've been googling for an hour now...
推荐答案
因此,我知道在使用真正的基本方法调用之前已经进行了交叉编译,并且在检查了输出之后,我弄清楚了为什么不使用它:
So I knew I've cross compiled before using really basic method calls and I figured out why I've gotten away with this before after examining the output:
checking for arm-linux-gnueabi-gcc... no
checking for gcc... gcc
...
...
checking for arm-linux-gnueabi-gcc... gcc
在我的/usr/bin
中没有arm-linux-gnueabi-gcc
,我必须:
In my /usr/bin
there was no arm-linux-gnueabi-gcc
, I had to:
ln -s /usr/bin/arm-linux-gnueabi-gcc-4.5 /usr/bin/arm-linux-gnueabi-gcc
我成功使用以下命令进行了交叉编译:
I successfully cross-compiled using:
./configure --host=arm-linux-gnueabi -prefix=${CSTOOL_DIR}/linux_arm_tool
关于链接...我仍然必须检查一些事情,但是我要假设我可能需要在更高级的编译器中抛出一些-rpath-link
标志.
as for linking ... I still have to check some things, but I am going to assume I might need to throw some -rpath-link
flags in more advanced compiles.
这篇关于使用Autoconf对ARM进行交叉编译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!