我在Ubuntu 12.04上安装了Ogre3D 1.8.1(源码包),一切都很顺利(我成功地在Ogre界面上运行了一些示例)。然而,在编译一个需要OpenCV、ArUco和Ogre库的外部项目(这个)时,我遇到了一个问题。当我运行该项目的CMake时,我收到以下消息:
CMake Error at CMakeLists.txt:46 (find_package):
By not providing "FindOGRE.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OGRE", but
CMake did not find one.
Could not find a package configuration file provided by "OGRE" with any of
the following names:
OGREConfig.cmake
ogre-config.cmake
Add the installation prefix of "OGRE" to CMAKE_PREFIX_PATH or set
"OGRE_DIR" to a directory containing one of the above files. If "OGRE"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
我知道FindOGRE.cmake在哪里,它在/usr/local/lib/OGRE/cmake中,但我不知道如何告诉CMake去查找那个文件夹并解决这个问题。
CMAKE_INSTALL_PREFIX
是你使用make install
安装当前项目的位置,所以在这里并不是很相关。CMAKE_MODULE_PATH
是一个目录列表,当你使用find_package
时,CMake 会在这些目录中查找 "FindXXX.cmake" 文件。最后,将OGRE_DIR
(或CMAKE_PREFIX_PATH
)设置为 Ogre 的安装目录需要存在一个名为 OGREConfig.cmake 或 ogre-config.cmake 的文件。如果 Ogre 提供了它们,其中一个将会存在(通过install(export...)
生成)。我认为这才是 Ogre 应该提供的内容,而不是 FindOGRE.cmake。 - Frasercmake . -DCMAKE_MODULE_PATH=/usr/share/OGRE/cmake/modules/
。 - tres.14159