TagLib 라이브러리를 사용하는 간단한 C 프로그램을 작성하고 있습니다. 원래는/usr/local에 라이브러리를 설치하고 그것을 컴파일하고 링크했습니다. 이후로 라이브러리를 완전히 제거하고 다른 위치에있는 라이브러리의 컴파일 된 버전과 연결을 시도하고 있습니다. 문제는 내가 지금 프로그램을 컴파일 할 때 깨끗하게 컴파일되지만 실행하려고 할 때 내 프로그램은 새로운 위치 대신/usr/local/lib에 있었던 라이브러리를 찾고 있습니다. 예를 들어, 내 코드와 새 TagLib 라이브러리는/Users/mdi/Code/태그에 있습니다.Mac gcc가 기존의 존재하지 않는 라이브러리와 연결을 시도 중입니다.
나는이처럼 내 프로그램을 컴파일하고 있습니다 :
cc main.c -Wall -I./taglib/bindings/c -o tag -L./taglib/bindings/c/.libs -ltag_c
내가 말했듯이, 컴파일은 오류 또는 경고와 함께 완료됩니다. 바이너리를 실행하려고 할 때, 나는이 오류를 얻을 : 이진 쇼에 'otool -L'을 실행
dyld: Library not loaded: /usr/local/lib/libtag_c.0.dylib
Referenced from: /Users/mdi/Code/tag/./tag
Reason: image not found
Trace/BPT trap
을이 왜 여전히 태그 라이브러리 라이브러리를 사용하려고
tag:
/usr/local/lib/libtag_c.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)
그/usr/local/lib에 더 이상 존재하지 않으며 더 중요한 것은 어떻게 해결할 수 있습니까?
좋아, 이제 나는 이해하기 시작했다. 내가 무슨 일이 일어나고 있는지 설치 경로 (어디'lib 디렉토리에 설치 될 것입니다'설치)'lib 디렉토리에 표시되는 것입니다'otool - L에 의해보고됩니다. –