使用cmake的Libhand库编译错误

时间:2012-08-20 12:39:53

标签: ubuntu cmake ogre libhand

我正在尝试在Ubuntu 12.04上从libhand.org构建一个手模型库。该库使用ogre和opencv库。我按照作者提供的说明,允许我成功安装ogre和opencv。不幸的是,当使用cmake(通过命令“cmake ..”)配置libhand库时,我收到以下错误:

  

CMake错误:此项目中使用了以下变量,但是   它们设置为NOTFOUND。请设置它们或确保它们已设置   并在CMake文件中正确测试:   OGRE_RenderSystem_GL_INCLUDE_DIR(ADVANCED)用作包含   目录中的目录   /home/roman/work_dir/libhand-0.9/hand_cpp/source用作包含   目录中的目录   /home/roman/work_dir/libhand-0.9/hand_cpp/source/dot_sceneloader
  用作目录中的include目录   /home/roman/work_dir/libhand-0.9/hand_cpp/source/dot_sceneloader/tinyxml

     

- 配置不完整,发生错误!

有谁知道为什么会出现这种错误以及可以做些什么?

2 个答案:

答案 0 :(得分:3)

我是libhand库作者,我用Roman调试了这个问题。以下是此问题的原因和解决方法:

原因:

  在编译然后安装OGRE之前,

未安装OpenGL开发人员标头/库

OGRE默默编译,但没有OpenGL支持。由于OGRE中缺少OpenGL支持,因此使用OGRE的代码无法编译。


此问题的修复

1)通过执行以下操作安装OpenGL开发标头/库:

sudo apt-get install freeglut3 freeglut3-dev

2)重新编译/重新安装OGRE。

使用libhand时,重新编译OGRE意味着进入install_help/linux_ogre_static_installer目录并运行:

./install_ogre_static.sh clean

接着是

./install_ogre_static.sh build

sudo ./install_ogre_static.sh install

3)清洁&重新构建报告此错误的libhand或其他软件。

对于libhand,请转到hand_cpp并执行:

rm -rf build/*

接着是

cd build
cmake ..

在此步骤之后,您不应该看到报告的错误,并希望libhand可以开箱即用。

答案 1 :(得分:2)

CMake无法找到OpenGL的头文件。为libGL安装-dev包。