[c++] make install

About_work·2024년 10월 16일
0

c++

목록 보기
10/17

5. 정리

  • make: 소스 코드를 컴파일하고 빌드해서 실행 파일과 라이브러리 파일을 생성.
  • make install: 빌드된 파일들을 시스템 경로로 복사해 다른 프로젝트에서 사용할 수 있도록 준비.

1.2 make install의 역할 (설치)

  • make install은 빌드된 실행 파일과 라이브러리를 특정한 폴더(시스템 경로 등)에 복사하는 과정이야.
  • 이를 통해 다른 프로젝트들이 OpenCV 라이브러리를 인식하고 사용할 수 있어.

2. make install의 실행 과정

make install의 실제 동작은 CMakeLists.txt 파일에 정의된 install 규칙에 따라 이루어져. 이 과정은 보통 다음 단계로 이루어져.

2.1 CMake 설치 규칙 정의

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)  # 라이브러리 설치 경로

🔍 코드 해석


3. make install이 실제로 하는 일

  1. 실행 파일 복사

    • 프로젝트의 빌드 결과(예: calculator 실행 파일)를 /usr/local/bin으로 복사.
    • 이로써 어느 디렉토리에서든 calculator 명령을 터미널에서 사용할 수 있어.
  2. 헤더 파일 복사

    • include/에 있는 C++ 헤더 파일들을 /usr/local/include로 복사.
    • 다른 프로젝트들이 이 헤더 파일을 포함하도록 하기 위해 필요해.
  3. 라이브러리 파일 복사

    • 빌드된 .so(공유 라이브러리) 파일을 /usr/local/lib로 복사.
    • 이 파일은 다른 C++ 프로젝트들이 링크 시 OpenCV를 사용할 수 있게 도와줘.

4. 빌드 결과가 어떻게 활용될까?

  1. 실행 파일 활용

    • /usr/local/bin에 설치된 실행 파일은 어디서든 명령어로 실행할 수 있어.
    calculator
  2. 헤더 파일 활용

    • /usr/local/include에 설치된 헤더 파일은 다른 C++ 코드에서 #include로 가져올 수 있어.
    #include <opencv2/opencv.hpp>
  3. 라이브러리 파일 활용

    • /usr/local/lib에 설치된 .so 라이브러리 파일은 다른 프로젝트에서 링크될 수 있어.
    • CMake가 라이브러리 파일을 찾고, 다음과 같이 링크할 수 있어:
    find_package(OpenCV REQUIRED)
    target_link_libraries(my_project ${OpenCV_LIBS})

profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글