在使用CMake构建时,如何让QtCreator识别OpenGL函数的自动完成?

时间:2014-10-27 18:42:04

标签: qt opengl cmake

我开始为我的应用程序使用Qt + OpenGL。我还注意到可以使用CMake将应用程序构建为explained here

但是,我无法让Qt识别自动完成的OpenGL函数。应用程序构建正确,运行没有问题。

我必须添加到CMake文件或Qt中的设置才能获得自动完成功能吗?

如果需要,这是我的CMakeLists.txt

CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )

PROJECT( QtOpenGLTemplate )

FIND_PACKAGE( Qt5Widgets REQUIRED )
IF( Qt5Widgets_FOUND )
    MESSAGE( STATUS "Qt5 Widgets module FOUND!" )
ELSE()
    MESSAGE( WARNING "Qt5 Widgets module NOT FOUND!" )
ENDIF()

FIND_PACKAGE( Qt5OpenGL REQUIRED )
IF( Qt5OpenGL_FOUND )
    MESSAGE( STATUS "Qt5 OpenGL module FOUND!" )
ELSE()
    MESSAGE( WARNING "Qt5 OpenGL module NOT FOUND!" )
ENDIF()

FIND_PACKAGE( OpenGL REQUIRED )
IF( OPENGL_FOUND )
    MESSAGE( STATUS "OpenGL FOUND!" )
ELSE()
    MESSAGE( WARNING "OpenGL NOT FOUND!" )
ENDIF()

SET( SOURCES main.cpp GLViewer.cpp )

ADD_EXECUTABLE( QtOpenGLTemplate ${SOURCES} )
TARGET_LINK_LIBRARIES( QtOpenGLTemplate ${OPENGL_LIBRARIES} Qt5::Widgets Qt5::OpenGL )

1 个答案:

答案 0 :(得分:1)

我在Qt's CMake manual

中找到了答案
  

为了使find_package成功,必须在下面找到Qt 5   必须在CMake中设置CMAKE_PREFIX_PATH或Qt5_DIR   缓存到Qt5WidgetsConfig.cmake文件的位置。最简单的   使用CMake的方法是设置CMAKE_PREFIX_PATH环境变量   到Qt 5的安装前缀。

因此,将以下行添加到CMakeLists.txt

SET(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH} /Applications/Qt/5.3/clang_64")

让Qt识别并自动完成OpenGL功能。