一般出现Undefined reference的错误时主要有一下几点:
-
- CMakeLists.txt中链接opencv动态库时是否链接成功(
TARGET_LINK_LIBRARIES(${OpenCV_LIBS})
)
- CMakeLists.txt中链接opencv动态库时是否链接成功(
-
- CMakeLists.txt中没有include opencv的头文件目录或者include错了目录,比如include了其他版本的opencv头文件 (
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
)
- CMakeLists.txt中没有include opencv的头文件目录或者include错了目录,比如include了其他版本的opencv头文件 (
-
- 使用Opencv的工程用的gcc/g++版本和编译opencv的gcc/g++版本不匹配,比如工程用的g++4.9,而编译opencv库用的是g++5.4,这样也会导致undefined reference