我正在用 C++ 开始一个 opencv 项目,我认为这将是学习一些 cmake 的好机会。这是我的项目雇佣制度:
project/
|__include/
|__sample1.h
|__sample2.h
|__build/
|__doc/
|__src/
|__sample1.cpp
|__sample2.cpp
|__test/
|__main.cpp
|__CMakeLists.txt
CMakeLists.txt 是:
CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )
SET( PROJ_NAME "Project" )
SET( PROJ_PATH ${CMAKE_SOURCE_DIR} )
SET( PROJ_OUT_PATH ${CMAKE_BINARY_DIR} )
SET( PROJ_LIBRARIES ${OpenCV_LIBS} )
SET( PROJ_INCLUDES "include" )
FILE( GLOB_RECURSE PROJ_SOURCES src/*cpp test/*cpp )
FILE( GLOB_RECURSE PROJ_HEADERS include/${PROJ_NAME}/*.h )
PROJECT( ${PROJ_NAME} )
FIND_PACKAGE( OpenCV REQUIRED )
INCLUDE_DIRECTORIES( ${PROJ_INCLUDES} )
ADD_EXECUTABLE( ${PROJ_NAME} ${PROJ_SOURCES} )
TARGET_LINK_LIBRARIES( ${PROJ_NAME} ${PROJ_LIBRARIES} )
makefile 已生成,但是当我执行“make”时,我有一些对 opencv 函数的“ undefined reference ”。
如有任何帮助,我们将不胜感激,当然,如果您需要更多信息,请直接询问 :)
谢谢
最佳答案
SET( PROJ_LIBRARIES ${OpenCV_LIBS} )
OpenCV_LIBS 将在您使用 find_package() 搜索包后设置。
您还需要将 header 添加到 add_executable()。
关于c++ - opencv 项目中的 CMakeLists.txt 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26765892/