簡體   English   中英

在帶有cmake的qt項目中包括GLUT

[英]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.hGL/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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM