我试图使用交叉编译器为android构建rt73.ko linux驱动程序。我已经下载了android和目标系统的内核源(Rockchip RK3066),当我构建驱动程序时,会得到以下错误:
root@slax:~/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module# make交叉编译=arm-linux-androideabi- make -C /root/ SUBDIRS=/root/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module mod-ules make1:进入目录
/root/kernel' CC [M] /root/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module/rtmp_main.o /root/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module/rtmp_main.c: In function 'usb_rtusb_probe': /root/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module/rtmp_main.c:1152:3: warning: return makes integer from pointer without a cast [enabled by default] /root/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module/rtmp_main.c: In function 'usb_rtusb_disconnect': /root/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module/rtmp_main.c:1315:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] /root/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module/rtmp_main.c: In function 'usb_rtusb_close': /root/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module/rtmp_main.c:655:1: warning: the frame size of 2128 bytes is larger than 1024 bytes [-Wframe-larger-than=] /root/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/as: /usr/lib/libz.so.1: no version information available (required by /root/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/as) /bin/sh: scripts/basic/fixdep: cannot execute binary file make[2]: *** [/root/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module/rtmp_main.o] Error 126 make[1]: *** [_module_/root/2011_0210_RT73_Linux_STA_Drv1.1.0.5/Module] Error 2 make[1]: Leaving directory/root/内核‘make:* all Error 2
你能帮我克服上面的错误吗?
发布于 2013-06-29 15:44:46
尽管交叉编译,但只能编译内核。脚本/basic/fixdep是userland程序。
为了克服这一问题,您需要使用http://crosstool-ng.org/。
https://stackoverflow.com/questions/13615230
复制相似问题