OpenCV 库和头文件的位置
需要将OpenCV 编译完成后,生成的include/opencv4 目录都拷贝到include 目录
├── include
│ ├── opencv4
│ │ └── opencv2
│ │ ├── calib3d
│ │ │ ├── calib3d_c.h
│ │ │ └── calib3d.hpp
│ │ ├── calib3d.hpp
│ │ ├── core
然后在CMakeLists 中如下配置:
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/opencv4)
这样佩的原因是让包含头文件的其实目录是从opencv4内开始的,还有链接opencv 查找库时,需要按照这个路径找。
链接OpencCv 库的方法:
set(OpenCV_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/cmake/opencv4/) # xxxx目录包含OpenCVConfig.cmake
find_package(OpenCV) # 找到opencv库
include_directories(${OpenCV_INCLUDE_DIRS})
#add_executable(${PROJECT_NAME} *.cpp) # *.cpp指要编译的那些源文件
#target_link_libraries(${PROJECT_NAME} )
link_directories(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/lib)
add_executable(${PROJECT_NAME} main.cpp)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/opencv4)
target_link_libraries(${PROJECT_NAME} tesseract ${OpenCV_LIBRARIES})
find_package(OpenCV) 需要从OpenCV_DIR 中查找OpenCVConfig.cmake 目录
而且会在其内部定义 ${OpenCV_LIBRARIES}
这样这个工程就可以使用opencv了