OpenGL hello.c无法使用CMake构建

时间:2012-07-13 17:58:49

标签: opengl build makefile cmake glut

我正在尝试从http://www.glprogramming.com/red/chapter01.html构建hello.c示例(查找“示例1-2”)。

我的CMakeLists.txt如下:

cmake_minimum_required (VERSION 2.8)
project (GLUTEX)

find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
include_directories(${GLUT_INCLUDE_DIRS})
include_directories(${OpenGL_INCLUDE_DIRS})

add_executable (glutex glutex.c)
target_link_libraries (glutex ${OpenGL_LIBRARIES})
target_link_libraries (glutex ${GLUT_LIBRARIES})

CMake调用成功生成所需的Makefile。但是当我打电话给make时,我会遇到以下情况:

Scanning dependencies of target glutex
[100%] Building C object CMakeFiles/glutex.dir/glutex.c.o
Linking C executable glutex
/usr/bin/ld: CMakeFiles/glutex.dir/glutex.c.o: undefined reference to symbol 'glOrtho'
/usr/bin/ld: note: 'glOrtho' is defined in DSO /usr/lib64/libGL.so.1 so try adding it to the linker command line
/usr/lib64/libGL.so.1: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[2]: *** [glutex] Error 1
make[1]: *** [CMakeFiles/glutex.dir/all] Error 2
make: *** [all] Error 2

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

尝试更改

target_link_libraries (glutex ${OpenGL_LIBRARIES})

target_link_libraries (glutex ${OPENGL_LIBRARIES})