QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3427|回复: 11

skyeye1.3.3 编译错误 implicit declaration of function ‘truncf’

[复制链接]
发表于 2011-7-28 09:09:00 | 显示全部楼层 |阅读模式
/bin/sh: /usr/local/bin/llvm-config: 没有那个文件或目录
libtool: compile:  gcc -Werror-implicit-function-declaration -I. -I../.. -I../../common -I../../dyncom/ -I../../arch/ppc/common -I../../arch/ppc/linux_syscall -I../../utils/debugger -I../../common/include -I./common/ -g -O2 -MT ppc_vec.lo -MD -MP -MF .deps/ppc_vec.Tpo -c common/ppc_vec.c  -fPIC -DPIC -o .libs/ppc_vec.o
common/ppc_vec.c: In function ‘ppc_opc_vrfiz’:
common/ppc_vec.c:2737: error: implicit declaration of function ‘truncf’
common/ppc_vec.c:2737: warning: incompatible implicit declaration of built-in function ‘truncf’
common/ppc_vec.c: In function ‘ppc_opc_vctsxs’:
common/ppc_vec.c:2876: warning: incompatible implicit declaration of built-in function ‘truncf’
common/ppc_vec.c: In function ‘ppc_opc_vctuxs’:
common/ppc_vec.c:2906: warning: incompatible implicit declaration of built-in function ‘truncf’
make[2]: *** [ppc_vec.lo] 错误 1
make[2]: Leaving directory `/home/seaknight/skyeye/skyeye/arch/ppc'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/home/seaknight/skyeye/skyeye'
make: *** [all] 错误 2
 楼主| 发表于 2011-7-28 09:12:52 | 显示全部楼层

skyeye1.3.2编译的时候没有这个错误

都是在debian5.0下跑的。
1.3.2中也有这个函数truncf,但是可以编译成功。

我想是不是makefile中的库设置有问题
回复

使用道具 举报

发表于 2011-7-28 09:58:25 | 显示全部楼层
debian 5 ?
这东西软件库的版本很旧的,是不是因为函数库的定义变了导致的?
回复

使用道具 举报

 楼主| 发表于 2011-7-28 10:19:40 | 显示全部楼层
truncf()这个函数我查了是 数学函数,数学函数应该是在lm里的吧。
回复

使用道具 举报

发表于 2011-7-29 10:15:12 | 显示全部楼层

回复 2# tenthplanet 的帖子

为了加强代码可靠性,我们目前已经不允许隐式的函数声明。
有可能需要在编译ppc_vec.c,在源代码的文件头上加入#include <math.h>
回复

使用道具 举报

 楼主| 发表于 2011-7-29 10:25:37 | 显示全部楼层
谢谢 开发人员解答。

不过我查看过源码,math.h是include进去的。
回复

使用道具 举报

 楼主| 发表于 2011-7-29 10:29:05 | 显示全部楼层
我已经把 1.3.3编译通过了。

但是觉得1.3.3运行的不太稳定.会跳出一些错误。

而且会提示一些找不到 correct kernel file,maye sth wrong with ur  skyeye.conf

我把编译好的程序去 1.3.2里去跑,倒是ok的
回复

使用道具 举报

发表于 2011-8-18 18:01:13 | 显示全部楼层
  1. 在ppc_vec.c这个文件加下面几行函数定义, 就能编译过去了

  2. float truncf(float x);
  3. long double truncl(long double x);
复制代码
回复

使用道具 举报

 楼主| 发表于 2011-8-19 08:57:41 | 显示全部楼层
这个问题虽然我已经解决了,但还是要谢谢你的热心啊
回复

使用道具 举报

发表于 2011-9-12 00:42:21 | 显示全部楼层
我编译完了怎么没得skyeye这个可实行文件。opt/skyeye/bin    usr/local/bin 都没得!
回复

使用道具 举报

发表于 2011-10-27 11:57:51 | 显示全部楼层
看看是否有skyeye_main.py?
回复

使用道具 举报

发表于 2011-11-30 13:00:35 | 显示全部楼层

回复 10# xql2008 的帖子

我也是这种情况。  在ubuntu10 和redhat enterprise 5.4都是这样,没有可执行文件skyeye
  
PS:回楼下, 有skyeye_main.py
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-3-28 16:14 , Processed in 0.056158 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表