Ubuntu Linux에서 ldconfig를 사용하여 공유 라이브러리 폴더 설정하기
컴파일 시 공유 라이브러리 연결
새로운 공유 라이브러리를 다운받아서 CMake
로 컴파일할 때는 CMakeLists.txt
파일에 아래 명령어를 사용해서 연결해 주면 된다.
target_include_directories
: 연결할 공유 라이브러리의 헤더파일 폴더 지정target_link_directories
: 연결할 공유 라이브러리의 라이브러리 폴더 지정target_link_libraries
: 연결할 공유 라이브러리 지정
실행 시 공유 라이브러리 연결
공유 라이브러리는 컴파일된 실행파일에 포함되지 않기 때문에, 컴파일된 실행파일을 실행할 때도 연결해 주어야 한다.
Ubuntu Linux의 ldconfig
를 사용하면 실행파일에 연결할 공유 라이브러리 폴더를 쉽게 설정할 수 있다.
conf 파일 생성
cat
명령어로 /etc/ld.so.conf
파일을 열어 보면 아래와 같은 내용이 있는 것을 확인할 수 있다.
1
include /etc/ld.so.conf.d/*.conf
/etc/ld.so.conf.d/
폴더에 있는 모든 .conf
파일을 참조하는 것을 알 수 있다.
실행파일에 연결할 공유 라이브러리 폴더를 위한 새로운 .conf
파일을 해당 폴더에 만들어 준다.
내용은 아래와 같이 폴더 경로만 지정하면 된다.
1
2
# custom shared library
/home/study/custom_shared_library
공유 라이브러리 폴더 설정 새로고침
새로운 .conf
파일을 추가해 주었으므로 공유 라이브러리 폴더 설정을 새로고침 해주어야 한다.
아래 명령어로 공유 라이브러리 폴더 설정을 새로고침 한다.
1
sudo ldconfig
공유 라이브러리 폴더 확인
ldconfig
로 설정된 공유 라이브러리 폴더 설정을 확인하고 싶을 땐 grep
명령어와 조합하여 아래처럼 사용하면 된다.
1
sudo ldconfig -p | grep -i [NAME]
p
: Print의 약자로 공유 라이브러리 폴더 설정을 출력
This post is licensed under CC BY 4.0 by the author.