求助:Linux下C编译问题
第一次在Linux下编写C程序,按教材上输入源程序,修改了几个明显的错误后,得到如下提示:- N8 W! F# P6 E/ [3 d
$ B* ?, N' {1 R2 \1 N2 f( K
/tmp/ccENXVTG.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
N5 r% A1 o" \8 P. A ccollect2: ld 返回 1# n' y* g5 v! r
" r0 \" P( c q. c! |1 v
刚接触Linux编程,实在不知道到那里找答案,请高手帮忙!!0 V4 {* ^3 G( q9 `1 v- z) L
- ^# y; ?( J$ D. S2 B f! g! u) @
编译命令: gcc -o FileType FileType.C4 A3 s' S: b, _1 o8 D
9 I4 y" c4 j9 L% n3 k运行环境:FC4默认的完全安装,普通用户身份。/ M4 j) d, Y2 n
; z0 E3 b5 z; A3 g6 y- G% F3 o
附源程序:
, T: C# T: O& z; V7 e- l% t
) g% z* q' F# c( X/* 判断文件类型 */- a g( p: x% _4 l
#include <stdio.h>' b( Z5 @* M' s9 O8 t N
#include <sys/types.h>
' w; N+ ^) Q1 F6 W+ z J: N#include <sys/stat.h>
' t* X, c2 z2 Vint main(int argc,char *argv[])7 B) N+ t1 A/ j' {
{
+ r- \) a$ x5 I6 @: s0 t2 [ int I;
9 T5 n- F- y0 v) ~9 G2 L, Z struct stat buf;
. O) H% _/ O7 I8 h% j {. C char *ptr;( G! z% |- ?+ n* W
for (I=1;I<argc;I++)4 r8 |6 ]( {7 a4 ]3 G1 }4 Z+ {
{
2 [ \, I! F: N3 C/ `5 A3 q- a1 a printf("%s: ",argv[I]);. ~: ?! }2 C ~
if (lstat(argv[I],&buf)<0)$ A; @5 K+ Z' k( S; E
{! S4 I# ~: f# d( A/ r$ a( T6 k
printf("error reading parameters. \n");
+ A: J0 ~: O. h, l# `3 c continue;
3 D; c, J. f, A% I5 J" |. {: Y }# x W z! q& j7 N' n, V
' g l/ d, G" p( {$ e' ?1 g if (S_ISREG(buf.st_mode)) /* 正规文件 */
a) r U; M6 k( p ptr="regular";& }0 k( {& w+ I* s( Y3 T$ v# B
else if (S_ISDIR(buf.st_mode))( U/ ^: {5 C2 o* n
ptr="directory";: D( f! S% T5 n: K' @
else if (S_ISCHR(buf.st_mode))
$ y$ D( X. C" ?9 p/ |8 A% y7 Z ptr="character special";
; ~$ L% H9 J G) u- j1 [2 ^ else if (S_ISBLK(buf.st_mode))# j: O* v: M k3 d9 y% h" \$ u
ptr="block special";' b5 q! k. Z0 P' I
else if (S_ISFIFO(buf.st_mode))) q* `9 v$ L$ U! z }2 w6 b
ptr="fifo";
- W8 ~9 u' I; m2 `/ V6 [2 K #ifdef S_ISLNK9 Q8 M7 O9 v+ G" u
else if (S_ISLNK(buf.st_mode))
) ^4 {$ V5 h$ S. Y3 s2 J* b ptr="symbolic link";
, F2 A. E! k, q7 F2 k #endif
: X6 ^; F2 a1 g# D$ ^ #ifdef S_ISSOCK5 x3 B' x" {( \9 _1 Z
else if (S_ISSOCK(buf.st_mode))
& x% ^6 ]& S5 Q* K# \% ~ ptr="socket";
- I3 A; n8 j! C; \+ O9 [5 }* u #endif
4 h$ u% i" T) I1 E1 y9 p else
2 I w9 m$ u7 L- a ptr="*** unknown mode ***";" k$ m( u) X( _! T& s1 x" G1 }
! W9 a: y- f+ s* L
printf("%s\n",ptr);0 h8 _0 r* r9 r8 [
}
5 @" _- F' @4 m& ~7 ` return 0;
* ?3 c5 c5 `/ j}