2014-11-09 3 views
3

나는 간단한 C 프로그램이라고 jpeg.c을 내 메이크 파일은 다음과 같이이었다 :gcc는 어디에서 라이브러리를 링크합니까?

all: 
    gcc -std=c99 -Wall jpeg.c -o jpeg 
clean: 
    $(RM) jpeg 

나는 "-ljpeg"를 추가 할 때까지 내 코드는 컴파일되지 않았다

all: 
    gcc -std=c99 -Wall jpeg.c -o jpeg -ljpeg 
clean: 
    $(RM) jpeg 

난 그냥 여기서 궁금하네요 정확히 gcc는 -l 옵션으로 지정된 jpeg 라이브러리를 찾으러 간다. 기본적 gcc으로

+1

미묘함없이 : strace -f -o mylog gcc -std = c99 ...'grep libjpeg mylog'. 좀 더 구체적으로 gcc에'-Wl, - verbose' 옵션을 주면 링커에게 자세한 정보를 알려줍니다. –

답변

1

옵션을 통해 답변을 얻을 수 있습니다.

+0

gcc가 jpeg 라이브러리를 찾는 곳을 알 수있는 방법이 있습니까? – TheInvisibleFist

+0

물론'gcc -Lsome_path' –

+0

불충분하게 표현한 질문에 사과드립니다. 실제로 jceg 라이브러리가있는 곳을 gcc에게 보여 주도록 요청할 수있는 방법이 있는지 물어보고 싶었습니다. "알다"와 같이 "말해라". 죄송합니다 – TheInvisibleFist

1

gcc 측면에서 spec 파일입니다 내장 구성 다음, 당신은

gcc -dumpspecs 

문서 here으로 특정 gcc 실행에 상대적으로 사양 파일을 볼 수 있습니다.

관련 문제