在这个问题上,我已经走到了尽头。
我是 Android 开发的新手。我已阅读 GCC 安装文档和嵌入式 Android 的部分内容。我正在尝试使用使用 make-standalone-toolchain.sh 脚本构建的 Android NDK 工具链来交叉编译 gcc 4.7。我正在使用来自 NDK 工具链源的 gcc 和 binutils 源文件。
我将 gcc-4.7 和 binutils-2.23 复制到 gcc-src 目录中,并在两者旁边创建了一个“build”目录,如下所示:
gcc-src/gcc-4.7
gcc-src/binutils-2.23
gcc-src/build
我已将 bfd、gas、gprof、ld、gprof 操作码的源代码 从 binutils 符号链接到 gcc-4.7 源目录。我还在 contrib/ 中运行了脚本,该脚本下载了 gmp、mpfr mpc的相关源 并创建了适当的符号链接
我已经使用(最新的)以下选项运行配置:
sh ../gcc-4.7/configure --prefix=/usr/arm --disable-option-checking --host=arm-linux-eabi
--target=arm-linux-eabi --with-sysroot=/usr/sysroot --with-build-sysroot=/usr/sysroot --with-build-time-tools=/usr/bin --program-prefix=arm-
--disable-multilib --with-cpu=arm7 --enable-languages=c,c++,lto --disable-werror --disable-nls CC=arm-linux-androideabi-gcc GCC=arm-linux-androideabi-gcc
CFLAGS='-Wall -g -mfloat-abi=softfp -mbionic -mandroid -Wl,-lsupc++ -Wl,-lgnustl_shared'
CPPFLAGS='-Wall -g -mbionic -mandroid' LDFLAGS='-Wl,-lsupc++ -Wl,-lgnustl_shared' CXX=arm-linux-androideabi-g++
LD=arm-linux-androideabi-ld STRIP=arm-linux-androideabi-strip OBJDUMP=arm-linux-androideabi-objdump READELF=arm-linux-androideabi-readelf
AS=arm-linux-androideabi-as NM=arm-linux-androideabi-nm
LIBS='-lc -ldl -lm' CC_FOR_TARGET=arm-linux-androideabi-gcc CPP_FOR_TARGET=arm-linux-androideabi-gcc CXX_FOR_TARGET=arm-linux-androideabi-g++
GCC_FOR_TARGET=arm-linux-androideabi-gcc RANLIB_FOR_TARGET=arm-linux-androideabi-gcc-ranlib LD_FOR_TARGET=arm-linux-androideabi-ld
AS_FOR_TARGET=arm-linux-androideabi-as NM_FOR_TARGET=arm-linux-androideabi-gcc-nm AR_FOR_TARGET=arm-linux-androideabi-gcc-ar
READELF_FOR_TARGET=arm-linux-androideabi-readelf
OBJDUMP_FOR_TARGET=arm-linux-androideabi-objdump STRIP_FOR_TARGET=arm-linux-androideabi-strip
host_configargs=--with-headers=/usr/sysroot/usr/include target_configargs=/usr/sysroot/usr/include
当我运行 make -d... 或 make -d all-host... 时,它会在尝试编译 gen-fac_ui.c 时不断失败,因为它找不到包含 stdio.h、stdint.h 或字符串。 H。
明天重新设置构建目录并重新开始后,我将添加确切的错误,但我想在今晚昏倒之前发布详细信息和问题。
任何帮助是极大的赞赏。我对此一无所知。
快速注意: 我注意到 binutils src 目录包含一个 include/ 文件夹...我将尝试将其符号链接到 gcc src 目录并运行“make distclean”,然后运行“../gcc-4.7/configure && make again。”
更新:符号链接包含/没有解决问题。这是我不断收到的错误
make[2]: Entering directory `/project/android/tc-src/gcc/gcc-src/build/gmp'
gcc `test -f 'gen-fac_ui.c' || echo '../../gcc-4.7/gmp/'`gen-fac_ui.c -o gen-fac_ui
Putting child 0x007ddd30 (gen-fac_ui) PID 25531 on the chain.
Live child 0x007ddd30 (gen-fac_ui) PID 25531
../../gcc-4.7/gmp/gen-fac_ui.c:20:19: error: stdio.h: No such file or directory
../../gcc-4.7/gmp/gen-fac_ui.c:21:20: error: stdlib.h: No such file or directory
In file included from ../../gcc-4.7/gmp/gen-fac_ui.c:23:
../../gcc-4.7/gmp/dumbmp.c:42:20: error: string.h: No such file or directory
In file included from ../../gcc-4.7/gmp/gen-fac_ui.c:23: