我正在尝试在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- 配置不完整,发生错误!
有谁知道为什么会出现这种错误以及可以做些什么?
答案 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
包。