make
: 소스 코드를 컴파일하고 빌드해서 실행 파일과 라이브러리 파일을 생성.make install
: 빌드된 파일들을 시스템 경로로 복사해 다른 프로젝트에서 사용할 수 있도록 준비.make install
의 역할 (설치)make install
은 빌드된 실행 파일과 라이브러리를 특정한 폴더(시스템 경로 등)에 복사하는 과정이야.make install
의 실행 과정make install
의 실제 동작은 CMakeLists.txt 파일에 정의된 install 규칙에 따라 이루어져. 이 과정은 보통 다음 단계로 이루어져.
CMakeLists.txt 파일에 설치 규칙은 다음과 같은 방식으로 정의돼.
install(TARGETS calculator
RUNTIME DESTINATION /usr/local/bin) # 실행 파일 설치 경로
install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/
DESTINATION /usr/local/include) # 헤더 파일 설치 경로
install(TARGETS opencv_lib
LIBRARY DESTINATION /usr/local/lib) # 라이브러리 설치 경로
make install
이 실제로 하는 일실행 파일 복사
calculator
실행 파일)를 /usr/local/bin
으로 복사.calculator
명령을 터미널에서 사용할 수 있어.헤더 파일 복사
include/
에 있는 C++ 헤더 파일들을 /usr/local/include
로 복사.라이브러리 파일 복사
.so
(공유 라이브러리) 파일을 /usr/local/lib
로 복사.실행 파일 활용
/usr/local/bin
에 설치된 실행 파일은 어디서든 명령어로 실행할 수 있어.calculator
헤더 파일 활용
/usr/local/include
에 설치된 헤더 파일은 다른 C++ 코드에서 #include
로 가져올 수 있어.#include <opencv2/opencv.hpp>
라이브러리 파일 활용
/usr/local/lib
에 설치된 .so
라이브러리 파일은 다른 프로젝트에서 링크될 수 있어.find_package(OpenCV REQUIRED)
target_link_libraries(my_project ${OpenCV_LIBS})