最近编写opencv代码时遇到如下问题,谨此记录,如有高人路过,恳请指点
使用的编辑器是vscode里面的cmake插件,cmake插件选择的developer kit是vs studio community 2019 Release - amd64, cl.exe OpenCv版本为4.1.0
文件目录如下,工程是c++编写的cnn网络,一个mat库,一个cnn库,主程序为main.cpp
project
|---cnn_classification
|----mat.h
|----mat.cpp
|----cnn.h
|----cnn.cpp
|----main.cpp
CMakeList如下:
cmake_minimum_required(VERSION 2.8)
project(main)
#set(DEFAULT_CXX_STANDARD 11)
find_package(OpenCV REQUIRED)
#添加头文件路径
include_directories(${PROJECT_SOURCE_DIR}/cnn_classification/)
include_directories(${OpenCV_INCLUDE_DIRS})
#添加库文件搜索路径
link_directories(${PROJECT_SOURCE_DIR}/build/Debug/)
#添加cnn运行库
add_library(cnn STATIC ${PROJECT_SOURCE_DIR}/cnn_classification/mat.h
${PROJECT_SOURCE_DIR}/cnn_classification/cnn.h
${PROJECT_SOURCE_DIR}/cnn_classification/cnn.cpp
${PROJECT_SOURCE_DIR}/cnn_classification/mat.cpp)
#添加可执行文件
add_executable(main ${PROJECT_SOURCE_DIR}/cnn_classification/main.cpp)
#链接运行库
target_link_libraries(main cnn
${OpenCV_LIBS}
)
编译时报如下错误:
这实在令人费解,这份代码在同学的电脑上无论是windows还是ubuntu都可以编译。同学电脑上win下面opencv为.4.1.1,ubuntu 3.4.6
解决方法是:换成opencv3.4.6版本即可。其它环境如文章开头所述,不变
至于为什么,别的博客好像有提到cv源码中有一定的问题,我觉得不能排除这种情况。