1. 程式人生 > 其它 >對Using OpenCV with gcc and CMake的補充

對Using OpenCV with gcc and CMake的補充

https://docs.opencv.org/4.5.5/db/df5/tutorial_linux_gcc_cmake.html

寫的已經不錯,我補充點,讓教程更便捷。

opencv原始碼編譯

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/home/xxx/cv ..

make

make install

編譯好的標頭檔案和庫就都安裝到 /home/xxx 目錄下的cv檔案夾了。主要是不想汙染 /lib

cmake list寫法

官方教程裡用了

find_package( OpenCV REQUIRED ) 配置有點麻煩。我暫時沒有用,而是這麼寫的:

cmake_minimum_required(VERSION 2.8)

project( test00 )

include_directories( /home/xxx/cv/include/opencv4 } )

add_executable( test00 main.cpp arrowedline2.cpp )

target_link_libraries( 
    test00 
    /home/xxx/cv/lib/libopencv_core.so 
    /home/xxx/cv/lib/libopencv_imgproc.so 
    /home/xxx/cv/lib/libopencv_highgui.so 
    /home/xxx/cv/lib/libopencv_imgcodecs.so
)

set(CMAKE_BUILD_TYPE "Release")

if( CMAKE_BUILD_TYPE STREQUAL "Debug" )
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g -Wall -Wno-unused-variable -pthread")
else( CMAKE_BUILD_TYPE STREQUAL "Debug" )
        set(CMAKE_BUILD_TYPE "Release")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2 -pthread -fopenmp")
endif( CMAKE_BUILD_TYPE STREQUAL "Debug" )

message("Build Type:"${CMAKE_BUILD_TYPE} ${CMAKE_CXX_FLAGS})

  

set(CMAKE_BUILD_TYPE "Release") 之後的部分不重要,可以全部去掉。

其他的按照官方教程走,沒問題