Gcc: ld가 -lc를 찾을 수 없습니다.

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입니다.

답변1

ld링커는 작성한 코드를 기존 라이브러리 코드와 결합하는 프로그램입니다. -lc파일에 저장되고 링커에 전달된 libc.a옵션의 결과로 링크되는 라이브러리를 나타냅니다.-lc

libc~이다C 표준 라이브러리, 링크하지 말라고 명시적으로 요청하지 않는 한 모든 프로그램에서 자동으로 링크됩니다(libc 자체를 컴파일하는 것과 같은 작업을 제외하고는 거의 수행되지 않습니다. libc 없이는 할 수 있는 일이 거의 없고 모호하게 이식 가능한 것도 전혀 불가능하기 때문입니다).

제공해야 합니다 libc.a. 찾을 수 있습니다 ( 먼저 설치한 후 실행하여 초기화 apt-file search /libc.a해야 함 ). 이 패키지는 Debian 및 그 파생물(Ubuntu, Mint 등 포함)의 대부분의 개발 패키지라고 합니다 . 여기서 NAME은 라이브러리 모음의 이름입니다(항상 링크하는 특정 라이브러리의 이름은 아닙니다). package )와 같은 다른 라이브러리가 포함되어 있으며 #은 버전 번호입니다.apt-filesudo apt-file updatelibc6-devlibNAME#-devlibc6libm

C 표준 라이브러리는 거의 모든 것을 구축하는 데 필요하므로구축을 위한 필수 패키지, 컴파일을 수행하는 경우 포함되어야 합니다.

관련 정보