2014-11-05 69 views
2

我开始在C++的opencv项目,我认为这将是一个学习cmake的好机会。这是我的项目hirerachy:错误与opencv项目中的CMakeLists.txt

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}) 

生成文件,但是当我执行“让”我有一些“未定义的引用”到OpenCV的功能。

任何帮助,将不胜感激,如果你想了解更多信息,当然只是问:)

感谢

回答

0
SET(PROJ_LIBRARIES ${OpenCV_LIBS}) 

后,您搜索包find_package OpenCV_LIBS将被设置()。

您还需要将您的标题添加到add_executable()。

+0

非常感谢,它完美的作品:) – Kruncho 2014-11-06 11:00:02