skyeye1.3.3 编译错误 implicit declaration of function ‘truncf’
/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: *** 错误 1
make: Leaving directory `/home/seaknight/skyeye/skyeye/arch/ppc'
make: *** 错误 1
make: Leaving directory `/home/seaknight/skyeye/skyeye'
make: *** 错误 2
skyeye1.3.2编译的时候没有这个错误
都是在debian5.0下跑的。1.3.2中也有这个函数truncf,但是可以编译成功。
我想是不是makefile中的库设置有问题 debian 5 ?
这东西软件库的版本很旧的,是不是因为函数库的定义变了导致的? truncf()这个函数我查了是 数学函数,数学函数应该是在lm里的吧。
回复 2# tenthplanet 的帖子
为了加强代码可靠性,我们目前已经不允许隐式的函数声明。有可能需要在编译ppc_vec.c,在源代码的文件头上加入#include <math.h> 谢谢 开发人员解答。
不过我查看过源码,math.h是include进去的。 我已经把 1.3.3编译通过了。
但是觉得1.3.3运行的不太稳定.会跳出一些错误。
而且会提示一些找不到 correct kernel file,maye sth wrong with urskyeye.conf
我把编译好的程序去 1.3.2里去跑,倒是ok的 在ppc_vec.c这个文件加下面几行函数定义, 就能编译过去了
float truncf(float x);
long double truncl(long double x); 这个问题虽然我已经解决了,但还是要谢谢你的热心啊 我编译完了怎么没得skyeye这个可实行文件。opt/skyeye/bin usr/local/bin 都没得! 看看是否有skyeye_main.py?
回复 10# xql2008 的帖子
我也是这种情况。在ubuntu10 和redhat enterprise 5.4都是这样,没有可执行文件skyeyePS:回楼下, 有skyeye_main.py
页:
[1]