2008-09-06 9 views
0

저는 Solaris x86에서 ffmpeg를 사용하는 라이브러리 인 'quadrupel'을 설치하려고합니다.Solaris에서 gcc가 어떻게 라이브러리를 찾습니까?

나는 ffmpeg를 빌드 할 수 있었고 그 라이브러리는/opt/gnu/lib에 있으며 include는/opt/gnu/include에 있지만 quadrupel을 만들려고 할 때 ffmpeg 헤더를 찾을 수 없습니다.

라이브러리의 적절한 검색 경로에이 두 디렉토리를 포함시키는 데 필요한 플래그/구성에는 어떤 것이 있습니까? 나는 Makefile 해커가 아니다.

답변

1

환경 변수 LD_LIBRARY_PATH를 설정하여 경로를 재정의 할 수 있습니다. 그러나 나는 모든 사용자의 라이브러리 경로를 변경할 필요가 없도록 시스템 경로도 변경하는 것이 좋습니다. 이것은 crel을 사용하여 수행 할 수 있습니다.

crle -l -c /var/ld/ld.config -l /usr/lib:/usr/local/lib:/opt/gnu/lib 

Include는 -I/opt/gnu/include를 CFLAGS 변수에 추가하기 만하면됩니다.

+1

이것은 crle이어야합니다 (런타임 연결 환경 구성). –

4

나는 당신이 메이크 파일에 다음을 추가 할 필요가 믿는 :

CFLAGS += -I/opt/gnu/include 
LDFLAGS += -L/opt/gnu/lib -R/opt/gnu/lib 

-i 인자가 어디에 포함 파일을 찾을 수 GCC를 말한다. -L 플래그는 ld에게 링크하는 동안 라이브러리를 찾을 위치를 알려줍니다. -R 플래그는/opt/gnu/lib를 quadrupel 바이너리의 라이브러리 검색 경로에 기록하므로 시작할 때 라이브러리를 찾을 수 있습니다.

관련 문제