Archive for the ‘gcc’ tag
C Runtime Error R6002
某學長在寫一隻簡單的分析程式時出現的問題:fscanf(”%f”, &value); 總是會出現 runtime error!
google 之後才知道,光只有使用 fscanf 是不會把浮點運算必須的函式庫 link 進去的,參考 MSDN。
不知道 gcc 怎麼處理?回宿舍之後試試 :p
Update:
答案是不會錯…,下次試試 VC8
gcc-4.3 & linux kernel
答案就是:gcc-4.3 還不能拿來 compile kernel.. 因為會用到沒有定義的 libgcc function.
錯誤如下:
CC arch/i386/lib/msr-on-cpu.o
LD arch/i386/lib/built-in.o
CC arch/i386/lib/bitops.o
AS arch/i386/lib/checksum.o
CC arch/i386/lib/delay.o
AS arch/i386/lib/getuser.o
CC arch/i386/lib/memcpy.o
CC arch/i386/lib/mmx.o
AS arch/i386/lib/putuser.o
AS arch/i386/lib/semaphore.o
CC arch/i386/lib/string.o
CC arch/i386/lib/strstr.o
CC arch/i386/lib/usercopy.o
AR arch/i386/lib/lib.a
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
kernel/built-in.o: In function `getnstimeofday':
(.text+0x1d927): undefined reference to `__umoddi3'
kernel/built-in.o: In function `do_gettimeofday':
(.text+0x1d9e9): undefined reference to `__udivdi3'
kernel/built-in.o: In function `do_gettimeofday':
(.text+0x1da0c): undefined reference to `__umoddi3'
kernel/built-in.o: In function `timekeeping_resume':
timekeeping.c:(.text+0x1db18): undefined reference to `__udivdi3'
timekeeping.c:(.text+0x1db3b): undefined reference to `__umoddi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e214): undefined reference to `__udivdi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e237): undefined reference to `__umoddi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e2d3): undefined reference to `__udivdi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e2fd): undefined reference to `__umoddi3'
make[1]: *** [.tmp_vmlinux1] Error 1
make[1]: Leaving directory `/usr/src/linux-source-2.6.23'
make: *** [debian/stamp-build-kernel] Error 2
參考: