-- Could NOT find osgDB (missing: OSGDB_LIBRARY OSGDB_INCLUDE_DIR)
-- Could NOT find osgGA (missing: OSGGA_LIBRARY OSGGA_INCLUDE_DIR)
-- Could NOT find osgUtil (missing: OSGUTIL_LIBRARY OSGUTIL_INCLUDE_DIR)
-- Could NOT find osgViewer (missing: OSGVIEWER_LIBRARY OSGVIEWER_INCLUDE_DIR)
-- Could NOT find osgText (missing: OSGTEXT_LIBRARY OSGTEXT_INCLUDE_DIR)
-- Could NOT find osg (missing: OSG_LIBRARY OSG_INCLUDE_DIR)
-- Could NOT find OpenThreads (missing: OPENTHREADS_LIBRARY OPENTHREADS_INCLUDE_DIR)
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find OpenSceneGraph (missing: OPENSCENEGRAPH_LIBRARIES
OPENSCENEGRAPH_INCLUDE_DIR OSGDB_FOUND OSGGA_FOUND OSGUTIL_FOUND
OSGVIEWER_FOUND OSGTEXT_FOUND OSG_FOUND OPENTHREADS_FOUND)
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindOpenSceneGraph.cmake:234 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:6 (FIND_PACKAGE)
由于FindOpenSceneGraph不是使用系统指定默认安装目录,而是自己手动使用CMAKE_INSTALL_PREFIX指定安装的目录因此找不到,需要导出环境变量,使用export只是单次生效,如果重启电脑将需要重新执行一次
#export OSG_DIR=<whereever_you_installed_osg>
#/home/ubuntu/osg 为你自己的安装目录
export OSG_DIR=/home/ubuntu/osg
如果想永久生效,可以通过增加环境变量追加到 ~/.bashrc之后 ,然后source一下
source ~/.bashrc
摘抄其他文章内容如下:
原文链接:
如何使用CMake构建OpenSceneGraph项目? - 码客 (oomake.com)
https://oomake.com/question/2764315
您无需在系统范围内安装OpenSceneGraph。只需选择适合您的CMAKE_INSTALL_PREFIX(例如~/ osg)。 使用install命令确保FindOpenSceneGraph.cmake
(当您调用FIND_PACKAGE( OpenSceneGraph )
时CMake调用脚本)找到它时,所有内容都正确就位(即在正确的目录结构中)。 然后,您应将OSG_DIR
,OSGDIR
或OSG_ROOT
中的任何一个指向环境变量,并将其指向您的安装位置,以便CMake知道在哪里查找它。 编辑: @Hugues:我会尽量让它更清晰一些: 设置OpenSceneGraph:
- 获取OSG来源。
- 运行CMake时,请选择适合您的
CMAKE_INSTALL_PREFIX
,例如。~/osg
如果您不想在(默认)/usr/local
中进行系统范围的安装。通过在命令行上声明-DCMAKE_INSTALL_PREFIX=/home/hugues/osg
或使用像ccmake
或cmake-gui
这样的gui工具进行设置来实现。 - 运行
make install
以构建和安装OSG。 - 将环境变量
OSG_DIR
设置为您指向CMAKE_INSTALL_PREFIX
的任何内容。 (export OSG_DIR=
)
设置您的项目:
- 在您的
CMakeLists.txt
中,使用FIND_PACKAGE( OpenSceneGraph )
(根据需要添加所需的可选参数)。 - 使用生成的变量(例如您的cmake文件中相应位置的
${OpenSceneGraph_LIBRARIES}
。 - 为您的项目运行CMake。