반응형
/usr/bin/ld: makefile로 컴파일하는 동안 -lc를 찾을 수 없습니다.
컨텍스트 먼저:헤더(event.h), event.c라는 프로그램, 메인 프로그램 main.c가 있습니다.이 프로그램은 컴파일되어 먼저 개체 프로그램(event.o)을 생성한 다음 별도의 폴더에 있는 정적 라이브러리(libevent.a)를 생성하고 실행 프로그램 work1.exe를 생성합니다.
이 작업을 수행하기 위해 다음 makefile을 만들었습니다.
work1 : main.c libevent.a
gcc -static main.c -L./lib -levent -o work1 -Wall
event.o: event.c
gcc -c event.c -Wall
libevent.a: event.o
ar rcs lib/libevento.a event.o
clean:
rm work1 *.o
makefile을 실행한 결과 다음 오류가 발생합니다.
$ make
gcc -c event.c -Wall
ar rcs lib/libevent.a event.o
gcc -static main.c -L./lib -levent -o work1 -Wall
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
make: *** [work1] Error 1
무슨 일이 일어나고 있는지 아십니까?아무것도 설치하지 않고 이것을 컴파일할 수 있는 방법이 있습니까?
특정 오류는 다음 행입니다.
/usr/bin/ld: cannot find -lc
링커가 라이브러리를 정적으로 연결하는 데 필요한 C 라이브러리를 찾을 수 없습니다.당신은 시도해 볼 수 있습니다.libc.a
을(를) 호출하여 시스템에 이미 존재합니다.locate libc.a
이것이 반환되면, 다음을 포함하는 디렉토리를 가리키는 적절한 라이브러리 플래그를 추가합니다.libc.a
.
한다면libc.a
가 설치되어 있지 않습니다. 라이브러리를 정적으로 컴파일하려면 라이브러리를 설치해야 합니다.당신이 CentOS에 있다고 말했기 때문에, 당신은 이것을 성취할 수 있을 것입니다.yum install glibc-static
.
언급URL : https://stackoverflow.com/questions/16024978/usr-bin-ld-cannot-find-lc-while-compiling-with-makefile
반응형
'programing' 카테고리의 다른 글
CreateReactApp 및 TypeScript로 선택적 체인을 활성화하는 방법 (0) | 2023.06.19 |
---|---|
Spring Boot 2.3.0 빌드 팩은 생성 날짜가 40년 전인 이미지를 빌드합니다. (0) | 2023.06.19 |
@EnableCaching을 사용한 SpringBoot의 기본 Cache Manager (0) | 2023.06.19 |
C에서 64비트 컴파일을 검색하는 중 (0) | 2023.06.19 |
외부 종속성 org.spring 프레임워크를 확인할 수 없습니다.부트:spring-boot-boot: 리포지토리가 정의되지 않았기 때문 (0) | 2023.06.19 |