关闭

程序编译提示找不到头文件的解决方法

标签: cmake
1286人阅读 评论(0) 收藏 举报
分类:

在编写的源程序中,使用cmake进行编译,提示OpenNI.h:no such file or directory

我安装的openNI安装在/opt目录下,在home目录下的.bashrc文件中已经添加了系统环境变量

export OPENNI2_INCLUDE="/opt/OpenNI/OpenNI-Linux-x64-2.2/Include"
export OPENNI2_REDIST="/opt/OpenNI/OpenNI-Linux-x64-2.2/Redist"

在工程的CMakeList.txt中,内容如下:

CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )
PROJECT( testKinect1 )

SET( CMAKE_CXX_COMPILER "g++" )
SET( CMAKE_BUILD_TYPE Release )
SET( CMAKE_CXX_FLAGS "-O3 -std=c++11" )
SET( EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin )
SET( LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib )

INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/include ${OPENNI2_INCLUDE} ${OPENNI2_REDIST} 
                )
LINK_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib )

ADD_SUBDIRECTORY( ${PROJECT_SOURCE_DIR}/src )

后来发现在cmake中,${}这种形式的引用是引用的cmake的环境变量,而不是系统的环境变量,这里实际上应该用系统的环境变量,所以需要使用 $ENV{},这样cmake引用的才是系统的环境变量。修改之后,编译通过。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13654次
    • 积分:293
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:7篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论