Gcc
Gcc:ld找不到-lc
我正在嘗試編譯一個簡單的程序
gcc main.c
和 gcc 向我拋出以下錯誤
/usr/bin/ld: cannot find -lc collect2: error: ld returned 1 exit status
我該如何解決這個問題?
我在 Linux Mint 17.2 上,gcc 版本是 4.8.4
ld
是連結器,即將您編寫的程式碼與預先存在的庫程式碼聯繫在一起的程序。-lc
表示儲存在文件libc.a
中並且因為選項-lc
被傳遞給連結器而被連結的庫。
libc
是C 標準庫,它會自動連結到每個程序中,除非您明確要求它不是(除了編譯 libc 本身之外很少這樣做,因為沒有 libc,您幾乎無法做任何事情,而您絕對不能做任何模糊便攜的事情)。您需要提供
libc.a
. 你可以找到它apt-file search /libc.a
(你需要先安裝apt-file
,然後通過執行來初始化它sudo apt-file update
)。該包稱為libc6-dev
;Debian 和衍生產品(包括 Ubuntu、Mint 等)中的大多數開發包都被呼叫,其中 NAME 是庫集合的名稱(並不總是您連結的特定庫的名稱,例如,該包包括其他庫,例如as ) 和 # 是版本號。lib*NAME*#-dev``libc6``libm
幾乎任何東西都需要 C 標準庫來建構,因此它是build-essential package的依賴項,如果您進行任何編譯,您應該包含它。