0
makefile
은 .c 파일을 모두 디렉토리에있는 파일로 실행하려고 시도한다. 예를 들어 :메이크 파일은 gcc로 컴파일한다.
am.c
2.c
s.c
am
2
s
프로그램
에.아무 것도 작동하지만 cc
을 사용하지만 gcc
컴파일러를 사용하고 싶습니다. 어떻게하면됩니까?
SRC = $(wildcard *.c)
BIN = $(patsubst %.c,%,$(SRC))
all : $(BIN)
감사하고 말하는 정상에 선을 추가 한 당신이 라이브러리를 추가하는 방법을 알고 question.do 더'-L는/usr/lib 디렉토리/NPTL -lpthread -lsocket -lnsl - 그것 안에 lrt'? 그걸로 컴파일하십시오 –
당신은 그것을하기 위해 몇 가지 규칙을 추가해야 할 것입니다. 매우 불충분 한 방법은 CC = gcc -L/usr/lib/nptl -lpthread -lsocket -lnsl -lrt를 지정하는 것이지만, 누군가는 그것을 제안하기까지 나를 화나게 할 것이다 :-) – unxnut
@unxnut : NO !! WTH는 @ # $ @ # $ : P라고 제안하고 있습니다. 환경에 설정되어 있지 않은 경우에만 CC 변수를 덮어 쓰는'CC : = gcc'를 언급 할 수 있습니다. 'make = '는'CC = gcc make'를 실행하여'gcc'를 사용할 수 있습니다. @Alex Gray : 실제로'CFLAGS' 및'LDFLAGS' 변수를 사용할 수 있습니다. 'CFLAGS'는 링크 타임을위한 컴파일 시간 플래그와'LDFLAGS'를 의미합니다. 'CFLAGS = -L/usr/lib/nptl'과'LDFLAGS = -lpthread -lsocket -lnsl -lrt'을 추가하십시오. 이 답이 문제를 해결하는 데 도움이된다면 동의하십시오. 고맙습니다. –