使用 Autoconf 为 ARM 交叉编译

标签 c cross-compiling autoconf

我在使用 autconf 为我的 arm board 交叉编译库时遇到问题。

我正在使用这条线:

./configure --target=arm-linux --host=arm-linux --prefix=/bla/bla/bla/linux_arm_tool CFLAGS='-m32'
make
make install

当我执行 file 检查时,我得到:

libjpeg.so.8.4.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped

这似乎根本不对,但我还是尝试使用它......我得到:

/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

我不知所措,我已经在谷歌上搜索了一个小时了......

最佳答案

所以我知道在使用真正基本的方法调用之前我已经进行了交叉编译,并且在检查输出之前我弄清楚了为什么我没有这样做:

checking for arm-linux-gnueabi-gcc... no
checking for gcc... gcc
...
...
checking for arm-linux-gnueabi-gcc... gcc

在我的 /usr/bin 中没有 arm-linux-gnueabi-gcc,我不得不:

ln -s /usr/bin/arm-linux-gnueabi-gcc-4.5 /usr/bin/arm-linux-gnueabi-gcc

我使用以下方法成功交叉编译:

./configure --host=arm-linux-gnueabi -prefix=${CSTOOL_DIR}/linux_arm_tool

至于链接......我仍然需要检查一些东西,但我假设我可能需要在更高级的编译中抛出一些 -rpath-link 标志。

关于使用 Autoconf 为 ARM 交叉编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15234959/

相关文章:

c++ - IWebBrowser2 接口(interface)依赖关系图

c - 组合多个条件检查的替代语法

c++ - section.data 中错误的 reloc 地址 0x0 python 的 C 扩展

c++ - 使用 GNU AutoTools 设置和使用数据目录路径

c - 将我的程序的 stderr 重定向到 config.log

gcc - 使用 gcc-ar 和 gcc-ranlib 的 autoconf 配方

对输出的困惑

c - 到底谁错了,书还是我? (C二维数组)

linux - 我需要什么来调试 pthreads?

linux - C-icap - 如何交叉编译?