2

QtOpenGL を使用するソフトウェアをコンパイルしようとしていますが、-lGLU が存在しないため、リンク エラーが発生しました。cmake を使用しています。CMakeLists.txt ファイルの唯一の関連行は私には思えますfind_package(Qt4 REQUIRED)

システムは Linux 64 ビット、Debian 不安定版、qt バージョン 4.7.3、cmake バージョン 2.8 です。

4

4 に答える 4

4

GLU は OpenGL や Qt の一部ではありません。追加の依存関係として手動で追加する必要があります。CMake FindOpenGL モジュールも GLU を検索します

% cmake --help-module FindOpenGL
cmake version 2.8.1
  FindOpenGL
       Try to find OpenGL

       Once done this will define


         OPENGL_FOUND        - system has OpenGL
         OPENGL_XMESA_FOUND  - system has XMESA
         OPENGL_GLU_FOUND    - system has GLU
         OPENGL_INCLUDE_DIR  - the GL include directory
         OPENGL_LIBRARIES    - Link these to use OpenGL and GLU


       If you want to use just GL you can use these values

         OPENGL_gl_LIBRARY   - Path to OpenGL Library
         OPENGL_glu_LIBRARY  - Path to GLU Library


       On OSX default to using the framework version of opengl

OSX 上の X11 で OpenGL を使用するには、OPENGL_glu_LIBRARY と OPENGL_gl_LIBRARY のキャッシュ値を変更する必要があります。

       Defined in: /usr/share/cmake/Modules/FindOpenGL.cmake
于 2011-07-25T22:05:38.487 に答える
3

私はこのように解決しました:

target_link_libraries(MyProgram ${QT_LIBRARIES} GL GLU glut)
于 2012-04-10T12:48:41.773 に答える
2

その場合、リンカー オプションに含まれますset(QT_USE_QTOPENGL TRUE)-lGLU

find_package(Qt4 REQUIRED)
set(QT_USE_QTOPENGL TRUE)
include(${QT_USE_FILE})
message("Libs: ${QT_LIBRARIES}")
add_executable(program main.cpp)
target_link_libraries(program ${QT_LIBRARIES})
于 2011-07-25T22:21:27.447 に答える
1

これが正しい解決策かどうかはわかりませんが、これらの行を に追加するとビルドが完了しCMakeLists.txtます:

find_package(OpenGL)

と追加

${OPENGL_LIBRARIES}

target_link_libraries
于 2011-07-26T07:32:59.293 に答える