Post

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.

© sirius-mhlee. Some rights reserved.

Using the Chirpy theme for Jekyll.