【发布时间】:2013-07-03 09:48:56
【问题描述】:
您好,我是 Linux 开发的新手,最近刚从 Windows MSVS c++ 开发切换到基于 Linux 的 vim+cmake+gcc。我正在使用 Debian Sid(不稳定)。
我正在尝试获取细分代码,我从朋友那里得到了运行。我不太习惯 Cmake,而且经常在谷歌上搜索帮助很麻烦,因为每个其他 dist 似乎都有不同的包和不同的解决方案。
cmake_minimum_required(2.6 版)
项目(基准)
Find_Package(需要 Qt4) 包括(${QT_USE_FILE})find_package(需要 OpenGL)
包含目录(${OPENGL_INCLUDE_DIR})设置(CORELIBS ${QT_LIBRARY} ${OPENGL_LIBRARY})
文件(GLOB SRC“.cpp”)
文件(全局头“.h”)
add_executable(基准 ${SRC})
target_link_libraries(基准 ${CORELIBS})
这是我当前的 Cmake,我想使用 find_package()、GLOB 等使其尽可能动态,而不是使用绝对路径。
我在尝试构建时收到以下错误。
subdivbench/Matrix4x4.h:4:19:致命错误:gl/GL.h:没有这样的文件或目录
#include gl/GL.h
编译终止。 make[2]: [CMakeFiles/Benchmark.dir/Matrix4x4.cpp.o] 错误 1 make[1]: [CMakeFiles/Benchmark.dir/all] 错误 2
代码是相当无关紧要的,因为它在 Windows 中完美运行,我需要做的就是让包含等在 Linux 上运行。
【问题讨论】:
-
你确定你的机器上安装了 gl/GL.h 吗?
-
我已经安装并包含了openGL,我已经安装了libmesagl1-devel,我已经安装并包含了X11,安装并包含了Glut。如果我在机器上没有 gl/GL.h,我会从 cmake 得到错误,而不是在编译期间。问题出在我的 cmake 上,但也可能是我的机器上缺少该软件包,但这还为时过早。 gl/Gl.h 应该在我提到的所有内容中。
-
这很奇怪。我在我的系统上安装了台面并制作了一个小示例 CMakeLists.txt: FIND_PACKAGE(OpenGL REQUIRED) MESSAGE("${OPENGL_INCLUDE_DIR}") 输出为: /usr/include -- 配置完成 -- 生成完成 -- 构建文件已写入:/home/phil/local/tmp/opengl 所以你的 cmake 代码对我来说是正确的。我发现:我需要包含 GL/gl.h,而不是 gl/GL.h。编辑:很抱歉这种格式,我不知道它在 cmets 中不起作用。
-
好的!我会尝试编辑代码!
标签: c++ linux opengl cmake debian