/home/rvbust/RVBUST/OpenSceneGraph-3.4.1/OpenSceneGraph-OpenSceneGraph-3.4.1/include/osg/GL:113:10: fatal error: GL/gl.h: No such file or directory 113 | #include <GL/gl.h> | ^~~~~~~~~ compilation terminated. make[2]: *** [src/osg/CMakeFiles/osg.dir/build.make:90: src/osg/CMakeFiles/osg.dir/AnimationPath.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:2140: src/osg/CMakeFiles/osg.dir/all] Error 2 make: *** [Makefile:136: all] Error 2
时间: 2023-07-30 16:11:48 浏览: 382
这是一个编译错误,提示找不到 GL/gl.h 这个文件。这个文件是 OpenGL 开发库的一个头文件,需要先安装好 OpenGL 开发库才能编译这个程序。你可以尝试安装 libgl1-mesa-dev 或者 mesa-common-dev 这两个包来解决这个问题。在 Ubuntu 系统上,可以使用以下命令来安装:
```
sudo apt-get install libgl1-mesa-dev
```
或者
```
sudo apt-get install mesa-common-dev
```
相关问题
osg::ref_ptr<osg::StateSet> state = new osg::StateSet; osg::Material* mat = new osg::Material(); mat->setColorMode(osg::Material::ColorMode::AMBIENT_AND_DIFFUSE); state->setAttribute(mat);
这段代码的作用是创建一个 osg::StateSet 对象,并将一个 AMBIENT_AND_DIFFUSE 模式的 Material 附加到这个 StateSet 中,从而实现对节点的材质设置。
具体来说,首先我们创建了一个 osg::StateSet 对象 state,它用来存储节点的渲染状态(如材质、纹理、混合模式等)。然后,我们创建了一个 osg::Material 对象 mat,并将它的颜色模式设置为 AMBIENT_AND_DIFFUSE。接着,我们将这个 Material 对象设置为 state 的属性,这样就可以将这个材质应用到节点的渲染中了。
这段代码中使用了 osg::ref_ptr 来管理指针,这是 OpenSceneGraph 中的一种智能指针(Smart Pointer)实现,用来自动管理对象的引用计数,避免内存泄漏等问题。因此,在使用 ref_ptr 创建对象时,不需要手动管理内存。
openscenegraph-openscenegraph-3.6.4编译运行
编译运行 OpenSceneGraph-OpenSceneGraph-3.6.4 需要按照以下步骤进行操作:
1. 首先,确保你的计算机上已经安装了 CMake,C++ 编译器和 OpenGL 兼容的图形驱动程序。这些是编译和运行 OpenSceneGraph 所必需的工具和库。
2. 下载 OpenSceneGraph-OpenSceneGraph-3.6.4 的源代码,可以在官方网站或开源项目托管网站上找到。确保下载的版本正确,避免出错。
3. 解压源代码文件并进入解压后的目录。
4. 创建一个用于构建的构建目录,并进入该目录。例如:mkdir build && cd build。
5. 运行 CMake 命令来生成构建系统所需的文件和配置。命令可能类似于:cmake path/to/OpenSceneGraph-OpenSceneGraph-3.6.4。你可以使用其他参数和选项来自定义构建过程。
6. 确保 CMake 执行成功并生成了构建系统所需的文件。
7. 使用你的 C++ 编译器来构建 OpenSceneGraph。可以使用 make 命令,或者其他编译工具,根据你的操作系统和编译环境来选择。例如:make。
8. 等待编译完成,这可能需要一段时间,具体取决于你的计算机性能。
9. 构建完成后,检查是否有错误或警告信息。如果有,需要解决它们,并重新运行编译步骤。
10. 运行编译好的 OpenSceneGraph 可执行文件,这将启动 OpenSceneGraph 程序并运行示例或其他自定义的应用程序。
总之,编译和运行 OpenSceneGraph-OpenSceneGraph-3.6.4 需要先安装必需的工具和库,然后使用 CMake 生成构建系统所需的文件,再使用 C++ 编译器进行编译,最后运行生成的可执行文件。
阅读全文