동적 링크 라이브러리 몇 가지 문제 때문에 프로그램을 컴파일 할 때

리눅스 개발 과정에서, 우리는 자주 자주 만남과 유사한 오류를 LXXX 찾을 수 있습니다 타사 DLL을 호출합니다.

오류의 세 가지 일반적으로 이러한 유형이 있습니다.

첫째, 자연스럽게 찾을 수 없습니다 동적 링크 라이브러리의 시간에 컴퓨터에 해당하는 라이브러리 프로그램이 없습니다. 검색 찾기 명령을 사용하여,이 문제는 매우 간단 확인되지 않습니다. 그렇지 않을 경우, 프로그램은 해당 있도록 설치할 수 있습니다.

둘째, 디렉토리 검색에 컴파일 된 카탈로그에서이 컴퓨터에 해당하는 라이브러리입니다,하지만. 일반 / lib과 / usr / lib 디렉토리 검색이 컴파일시에 고정되며, 일반적으로 / usr / 지방 / lib 디렉토리는 기본 검색 디렉토리가 아니다. 이 문제를 해결하기 위해 매우 간단 하나입니다 디렉토리 검색을 컴파일하는 메이크의 증가는, -L 디렉토리의 방법으로 같은 -L / usr / 지방 / lib 디렉토리를 수행합니다. 2 : 그래서 시스템 디렉토리 검색에 복사하지만, 검색 시스템은 도서관 시스템의 일반 카탈로그의 일부 디렉토리에 라이브러리를 복사하지 않는 것이 좋습니다 너무 혼란이다. 세 : 검색 디렉토리, /etc/ld.so.conf.d/ 디렉토리에 예를 들어 opencv.conf를위한 파일을 생성 추가 후, 파일에 .so 파일 경로를 추가 예 : / usr / 지방 / lib 디렉토리 캔 등 가. 차이점 3 실시 예 및 제 1 실시 예는 현재의 스캔리스트 컴파일러, 세번째 변화의 제 1 변화가 있다는 것을 스캔 목록 컴파일러 모든 시스템.

셋째, 컴퓨터의 해당 도서관, 도서관 카탈로그도 컴파일 된 검색 디렉토리가있다. 이러한 상황은 일반적으로 libxxx.so없이 목적으로 만 libxxx.so.xx.xx.xx 컴퓨터에 표시됩니다. DLL을 검색하지 않을 검색, libxxx.so 검색 할 때 시스템이 일반적이다. 이 솔루션은 컴퓨터의 새로운 libxxx.so libxxx.so.xx.xx.xx 존재를 가리키는 소프트 링크를 만들 간단합니다.

일반적으로 문제를 해결할 수 위의 세 가지 방법은 동적 라이브러리를 찾을 수 없습니다.

게시 12 개 원래 기사 · 원 찬양 4 ·은 20000 +를 볼

추천

출처blog.csdn.net/wuzhidefeng/article/details/103053287