skyeye编译问题及解决方法


首先交代一下我的环境,ubuntu linux 7.04桌面版,gcc 4.1.2, skyeye 1.2.3。接下来就是下载和安装skyeye了:

  1)上http://gro.clinux.org下载最新的skyeye,当前最新版本为1.2.3,所以下载的文件为skyeye_1_2_3_Rel.tar.bz2

  2) 使用以下命令解压包:
  $ tar jvxf skyeye_1_2_3_Rel.tar.bz2

  3) 进入解压后的目录
  $ cd skyeye_1_2_3_Rel

  4) 输入make命令
  $ make NO_DBCT=1 NO_BFD=1 NO_LCD=1这时出现如下提示:

test@ubuntu-kde-pc:~/incoming/skyeye_1_2_3_Rel$ make NO_DBCT=1 NO_BFD=1 NO_LCD=1
--------------------------- NOTICE ------------------------------
If you always get error, please run "make NO_CHECK=1" instead.
-----------------------------------------------------------------
Checking whether host is big endian ... no
Checking gcc ... OK ( gcc version: 4.1.2 )
-----------------------------------------------------------------
gcc -g -O2 -D_FILE_OFFSET_BITS=64 -DSTANDALONE -DDEFAULT_INLINE=0 -DMODET  -DMODET -I arch/arm -I arch/arm/common -I arch/arm/common/mmu -I arch/arm/mach -I arch/bfin/common -I arch/bfin/mach -I arch/coldfire/common -I device -I device/net -I device/lcd -I device/flash -I device/uart -I utils -I utils/share -I utils/main -I utils/config -I utils/debugger  -DARM  -I. -DNO_DBCT -DNO_BFD -DNO_LCD -o binary/skyeye binary/skyeye.o
                --start-group -Lbinary -larm -ldev -lutils -lbfin -lcoldfire -lmips -lppc  --end-group
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vctuxs':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2770: undefined reference to `truncf'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vctsxs':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2741: undefined reference to `truncf'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vrfiz':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2609: undefined reference to `truncf'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vexptefp':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2693: undefined reference to `pow'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vlogefp':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2672: undefined reference to `log'
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2672: undefined reference to `log'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vrsqrtefp':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2651: undefined reference to `sqrt'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vrfin':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2564: undefined reference to `rintf'
collect2: ld returned 1 exit status
make: *** [binary/skyeye] Error 1
  5)看到有没有链接到pow的提示,想到pow应该是数据运算库中的函数,是不是因为数学库没有链接的原因?找到Makefile的 SKYEYE_LIB=-Lbinary -larm -ldev -lutils -lbfin -lcoldfire -lmips这一行,在后面添加了-lm,再编译,一切OK

 

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3