当前位置: 技术问答>linux和unix
同样的代码,换个系统编译就出事了,/usr/include/bits/stdio2.h:282: undefined reference to `__fread
来源: 互联网 发布时间:2016-09-25
本文导语: 这个代码我本来在ubuntu编译的,成功了,我换到RedHat下编译就出现了/usr/include/bits/stdio2.h:282: undefined reference to `__fread_chk',很郁闷,其实这这个代码,在redhat也有一份可能部分代码有所不同,但是很小,我是因为在...
这个代码我本来在ubuntu编译的,成功了,我换到RedHat下编译就出现了/usr/include/bits/stdio2.h:282: undefined reference to `__fread_chk',很郁闷,其实这这个代码,在redhat也有一份可能部分代码有所不同,但是很小,我是因为在redhat那份编译过后运行出错才打算搬ubuntu那份过来的,结果移过来就悲剧了。。。
这个stdio2.h文件难道ubuntu9.04和redhat还有差别么,这个头文件那么常用,应该不会经常修改吧??
这个stdio2.h文件难道ubuntu9.04和redhat还有差别么,这个头文件那么常用,应该不会经常修改吧??
|
还真没用过stdio2.h这个头文件
比stdio.h函数多?
比stdio.h函数多?
|
bits/stdio2.h是由stdio.h引用的, 而且只在条件编译下会被引用
看看两个平台上使用的宏定义是不是不一样
#if __USE_FORTIFY_LEVEL > 0 && defined __extern_always_inline
# include
#endif
看看两个平台上使用的宏定义是不是不一样
|
很大可能是跟glibc/gcc版本有关
|
恩,对比下gcc/glibc的版本吧,应该是redhat的版本老了