[英]include GLUT in qt project with cmake
我正在嘗試使用opengl和qt進行cmake項目。
這是我包括opengl的cmake:
# opengl
set(QT_USE_QTOPENGL TRUE)
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
include_directories( ${OPENGL_INCLUDE_DIRS} ${GLUT_INCLUDE_DIRS} )
set(OPENGL_LIBS ${OPENGL_LIBRARIES} ${GLUT_LIBRARY})
它找到了它們,這是cmake輸出的一部分:
-- Found OpenGL: /System/Library/Frameworks/OpenGL.framework
-- Found GLUT: -framework GLUT
我可以在其中包含OpenGL:
#include <QtOpenGL>
有了它,它可以正確找到gl * glGetString(GL_VENDOR)
或glGetString(GL_VERSION)
並且它們可以工作。
但是我無法包含GLUT包含。
我在Mac OSX 10.8.4,Qt 4.8,QtCreator 2.7.1和Opengl 2.1上
請注意,Ubuntu 12.04下的同一cmake文件允許我正確包含GL/gl.h
和GL/glut.h
但是我無法包含GLUT包含。
當您已經在使用Qt時,為什么還要使用GLUT?
GLUT是用於窗口創建和事件循環處理的框架。 Qt是用於窗口創建和事件循環處理的框架。
您不能(當然,不應)在同一個程序中有兩個框架做完全相同的事情(除非您有興趣看到它們在相同資源上進行一些戰斗)。
在OSX上,您需要包含GLUT/glut.h
,因此在代碼中編寫如下代碼:
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.