3

您好,我是 Linux 开发的新手,最近刚从 Windows MSVS c++ 开发切换到基于 Linux 的 vim+cmake+gcc。我正在使用 Debian Sid(不稳定)。

我正在尝试获取细分代码,我从朋友那里得到了运行。我真的不习惯 Cmake,而且经常在谷歌上搜索帮助很麻烦,因为每个其他 dist 似乎都有不同的包和不同的解决方案。

cmake_minimum_required (VERSION 2.6)
项目 (Benchmark)
Find_Package(Qt4 REQUIRED) Include(${QT_USE_FILE})

查找包(需要 OpenGL)包含目录
(${OPENGL_INCLUDE_DIR})

设置(CORELIBS ${QT_LIBRARY} ${OPENGL_LIBRARY} )

文件(GLOB SRC“ .cpp”)
文件(GLOB HEAD“
.h”)
add_executable(基准${SRC})
target_link_libraries(基准${CORELIBS})

那是我当前的 Cmake,我想使用 find_package()、GLOB 等使其尽可能动态,而不是使用绝对路径。

尝试构建时出现以下错误。

subdivbench/Matrix4x4.h:4:19: 致命错误: gl/GL.h: No such file or directory
#include gl/GL.h
编译终止。make[2]: [CMakeFiles/Benchmark.dir/Matrix4x4.cpp.o] 错误 1 ​​make[1]: [CMakeFiles/Benchmark.dir/all] 错误 2

该代码是相当无关紧要的,因为它在 Windows 中完美运行,我需要做的就是使包含等适用于 Linux。

4

2 回答 2

9

Include GL/gl.h instead of gl/GL.h

于 2013-07-05T11:19:48.427 回答
1

从汉斯洛夫斯基所说的:

I have mesa installed on my system and made a small sample CMakeLists.txt: FIND_PACKAGE(OpenGL REQUIRED) MESSAGE("${OPENGL_INCLUDE_DIR}") The output is: /usr/include -- Configuring done -- Generating done -- Build files have been written to: /home/phil/local/tmp/opengl So your cmake code appears correct to me.

What I found out: I need to include GL/gl.h, not gl/GL.h. edit: Sorry for that formatting, I did not know it does not work in comments.

This worked. Thanks a tons hanslovsky, it was just a capitalization problem.

于 2013-07-05T11:02:57.140 回答