对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") 之后的部分不重要,可以全部去掉。
其他的按照官方教程走,没问题