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 .
                --
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 

你可能感兴趣的:(c,linux,ubuntu,gcc,File,makefile)