我寫了使用海合會
gcc -o pr prc.c
編譯它C.After我的節目,我得到了下面
/usr/bin/ld:cannot find -lc
collect2: ld returned 1 exit status
我寫了使用海合會
gcc -o pr prc.c
編譯它C.After我的節目,我得到了下面
/usr/bin/ld:cannot find -lc
collect2: ld returned 1 exit status
事物的鏈接(ld
)無法找到庫文件標準C庫的libc.{a|so}
。請參閱ld man page以瞭解該庫的選項(並且lc
命令行選項爲ld
)。引用:
ld -o <output> /lib/crt0.o hello.o -lc
This tells ld to produce a file called output as the result of linking
the file "/lib/crt0.o" with "hello.o" and the library "libc.a"
您應該檢查以確保這些文件實際上從系統中丟失。在我的Ubuntu 10.04 LTS系統:
~ [88] locate libc.so
/lib/libc.so.6
/lib/tls/i686/cmov/libc.so.6
/usr/lib/libc.so
~ [89] locate libc.a
/usr/lib/libc.a
/usr/lib/xen/libc.a
你如何安裝這個缺少庫會根據你的發行版。使用您的軟件包管理搜索libc
。否則,您可能需要考慮重新安裝gcc
-lc是libc的縮寫,它是C
運行時庫。你的* nix發行版是什麼,你需要通過適當的安裝程序來安裝glibc和glibc-common。
man ld
並應給出錯誤信息的洞察力。類似這樣的消息表明鏈接器正在尋找缺少的庫。這裏庫的名稱是libc(用lib替換l)。
'ld'是鏈接,似乎無法找到'-lc'。不知道那是什麼,但 –
你可能沒有安裝開發包像'libc6的-dev',你應該用'GCC編譯-Wall -g pr.c -o pr' –
@TonyTheLion:它試圖反對的libc鏈接,並且由於某種原因無法找到它。 –