Macos 如何使用CMake包含库,然后在源文件中使用尖括号包含其标题?
我使用自制软件安装opencv、openni和nite 我已经为opencv创建了一个cmake文件,不知怎么的,它已经为它的目录opencv_LIBS定义了一个路径,不知道我是如何或者在哪里找到它的Macos 如何使用CMake包含库,然后在源文件中使用尖括号包含其标题?,macos,opencv,cmake,openni,nite,Macos,Opencv,Cmake,Openni,Nite,我使用自制软件安装opencv、openni和nite 我已经为opencv创建了一个cmake文件,不知怎么的,它已经为它的目录opencv_LIBS定义了一个路径,不知道我是如何或者在哪里找到它的 cmake_minimum_required(VERSION 2.8) project( main ) find_package( OpenCV REQUIRED ) add_executable( main main.cpp ) target_link_libraries( main ${Op
cmake_minimum_required(VERSION 2.8)
project( main )
find_package( OpenCV REQUIRED )
add_executable( main main.cpp )
target_link_libraries( main ${OpenCV_LIBS} )
安装openni和nite后。
我对此进行了一次尝试,并扩展到以下内容,再次我不确定在它们的目录中哪里可以找到这些别名
cmake_minimum_required(VERSION 2.8)
project( main )
find_package( OpenCV REQUIRED )
include_directories(${OPENNI_INCLUDE})
Include_directories(${NITE_INCLUDE})
add_executable( main main.cpp)
target_link_libraries( main ${OpenCV_LIBS} ${OPENNI_LIB} ${NITE_LIB} )
但它没有很好地整合
在.bash\u profile
中,我有以下内容:
export OPENNI_INCLUDE="/usr/local/Cellar/openni/1.5.7.10/include/ni"
export OPENNI_LIB="/usr/local/Cellar/openni/1.5.7.10/lib"
export OPENNI_DIR="/usr/local/Cellar/openni/1.5.7.10"
export NITE_INCLUDE="/usr/local/Cellar/nite/1.5.2.21/include/nite"
export NITE_LIB="/usr/local/Cellar/nite/1.5.2.21/lib"
export NITE_DIR="/usr/local/Cellar/nite/1.5.2.21"
现在我得到以下错误:
fatal error: 'XnOpenNI.h' file not found
#include <XnOpenNI.h>
致命错误:找不到“XnOpenNI.h”文件
#包括
您应该添加
include_directories($ENV{OPENNI_INCLUDE})
在项目定义之后。这将把OPENNI包含文件的路径作为-I选项添加到编译器中。有关“包含目录”命令的更多信息,请参阅
关于OpenCV_LIBS的起源:
使用“find_package(需要OpenCV)”时,cmake将自动调用FindOpenCV.cmake(在cmake_MODULE_path变量指定的路径中找到)。FindOpenCV.cmake负责实际定位OpenCV库和包含文件,并定义OpenCV_LIBS和一组其他变量
这使它“神奇地”为您所用。有关find_package magic的更多信息,请参见如果名称空间openni仍然无法识别怎么办?openni库中的类(如设备、openni::initialize()或openni::shutdown())也不是。我不是openni方面的专家,但可能您包含了错误的文件。对于C++接口,您应该包括xncpprasper-h。如果我没有弄错的话。