CLion 사용시 외부라이브러리(e.g. OpenCV) 링크가 불편하다.
일반적인 방법으로 아래와 같은 형식으로 CMakeLists.txt를 작성하게 된다.
cmake_minimum_required(VERSION 3.2)
project(PlateDetection1)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
# set dir for header and library
include_directories(/usr/local/lib/opencv-3.0.0/include)
link_directories(/usr/local/lib/opencv-3.0.0/lib)
# sources and libs
set(SOURCE_FILES main.cpp PlateDetection.cpp PlateDetection.h)
set(EXT_LIBS opencv_core opencv_imgcodecs opencv_highgui opencv_imgproc opencv_calib3d opencv_features2d)
# linking phase
add_executable(PlateDetection1 ${SOURCE_FILES})
target_link_libraries(PlateDetection1 ${EXT_LIBS})
OpenCV와 같이 참조해야할 라이브러리 갯수가 많을 경우는 이 방식은 엄청 불편하다.
하지만 라이브러리 컴파일 시 <NAME>Config.cmake or <NAME>-config.cmake 와 같은 파일이 생성된다면,
조금 더 쉽게 CMakeLists.txt를 작성할 수 있다.
아래 두 가지 방법 중 아무거나 사용하도록 하자.
cmake_minimum_required(VERSION 3.3)
project(LaneDetection1)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(OpenCV_DIR [OpenCV.cmake PATH])
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIR})
set(SOURCE_FILES main.cpp)
add_executable(LaneDetection1 ${SOURCE_FILES})
target_link_libraries(LaneDetection1 ${OpenCV_LIBRARIES})
cmake_minimum_required(VERSION 3.3)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} [OpenCV.cmake PATH])
project(LaneDetection1)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIR})
set(SOURCE_FILES main.cpp)
add_executable(LaneDetection1 ${SOURCE_FILES})
target_link_libraries(LaneDetection1 ${OpenCV_LIBRARIES})
'컴퓨터공학 리서치 > 공개' 카테고리의 다른 글
dw2pdf 한글 글꼴(CJK font) 설정 (0) | 2016.08.16 |
---|---|
우분투(ubuntu) 환경변수 설정방법 (0) | 2015.09.05 |
우분투(ubuntu)에서 JDK 설치 (0) | 2015.09.03 |
우분투(ubuntu) 바탕화면에 바로가기 만들기 (0) | 2015.09.02 |
안드로이드 adb 및 fastboot 명령 정리 (0) | 2015.03.16 |