opencv源码编译安装后使用时出现undefined reference cv::imwrite

一般出现Undefined reference的错误时主要有一下几点:

    1. CMakeLists.txt中链接opencv动态库时是否链接成功(TARGET_LINK_LIBRARIES(${OpenCV_LIBS}))
    1. CMakeLists.txt中没有include opencv的头文件目录或者include错了目录,比如include了其他版本的opencv头文件 (INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS}))
    1. 使用Opencv的工程用的gcc/g++版本和编译opencv的gcc/g++版本不匹配,比如工程用的g++4.9,而编译opencv库用的是g++5.4,这样也会导致undefined reference
原文地址:https://www.cnblogs.com/cristiano-duan/p/13054737.html