我尝试使用MIPS32架构为OpenWrt 14.04设备构建点击式模块化路由器。 (借助于此处的说明:https://wiki.openwrt.org/doc/devel/crosscompile)。我已成功为OpenWRT构建了工具链。
这是故障结束日志:(如果有必要,我可以放入整个日志)
.
.
.
CXX elementmap.cc
CXX ../../lib/userutils.cc
CXX ../../lib/md5.cc
CXX toolutils.cc
CC ../../lib/clp.c
AR libclicktool.a
RANLIB libclicktool.a
BUILDCXX ../../lib/string.cc
BUILDCXX ../../lib/straccum.cc
BUILDCXX ../../lib/glue.cc
BUILDCXX ../../lib/bitvector.cc
BUILDCXX ../../lib/hashallocator.cc
BUILDCXX ../../lib/ipaddress.cc
BUILDCXX ../../lib/etheraddress.cc
BUILDCXX ../../lib/timestamp.cc
BUILDCXX ../../lib/error.cc
../../lib/error.cc: In static member function ‘static String ErrorHandler::vxformat(int, const char*, __va_list_tag*)’:
../../lib/error.cc:724:52: error: cannot convert ‘__va_list_tag**’ to ‘__va_list_tag (*)[1]’ in argument passing
strstore = item->hook(flags, VA_LIST_REF(val));
^
make[2]: *** [error.bo] Error 1
make[2]: Leaving directory `/home/kerematam/sodev/wi5/cross-click/click/tools/lib'
make[1]: *** [lib] Error 2
make[1]: Leaving directory `/home/kerematam/sodev/wi5/cross-click/click/tools'
make: *** [tools] Error 2
以下是我为构建而运行的内容:
export CC=/home/kerematam/openwrt/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-gcc
export CXX=/home/kerematam/openwrt/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-g++
export PATH=/home/kerematam/openwrt/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/:$PATH
export STAGING_DIR=/home/kerematam/openwrt/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/
./configure --host=mips-unknown-elf --build=x86_64-unkown-linux-gnu --prefix=/home/kerematam/openwrt/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/ --with-linux=/home/kerematam/openwrt/trunk/build_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/linux/
我对交叉编译环境没有经验。我可能会遗漏一些东西。有什么可能导致这种情况的建议吗?