• 8297阅读
  • 10回复

Qt Gui Application + glut [复制链接]

上一主题 下一主题
离线xu4510014
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-13
各位大大  想請問各位  有沒有試過在Qt使用glut


我這陣子想要嘗試使用
搜尋資料後  做了下列動作
1.  glut.h 放到  C:\QtSDK\mingw\include\GL\
2.  glut.dll、glut32.dll  放到  C:\windows\system32\
3. glut.lib、glut32.lib  放到  project裡面  (ex: untitled1)
4. LIBS += glut.lib的路徑  (ex : D:\download\untitled1\glut.lib)
 LIBS += glut32.lib的路徑  (ex : D:\download\untitled1\glut32.lib)


經過這些設定 我在main加入 #include<GL/glut.h>
可以正常執行


但是想要呼叫glut的函示就無法執行 會出現錯誤
ex : undefined reference to 'glutInit'
       collect2: ld returned 1 exit status


請問各位大大 我做錯什麼設定?
离线wxj120bw

只看该作者 1楼 发表于: 2011-10-16
回 楼主(xu4510014) 的帖子
错误发生在连接阶段 将“编译输出”窗口的命令贴下
离线kimtaikee

只看该作者 2楼 发表于: 2011-10-16
也许是你的glut版本有误,重新下一个试试

离线xu4510014
只看该作者 3楼 发表于: 2011-10-17
wxj120bw大大
我不清楚你說的意思?

kimtaikee大大
我下載的版本是
[attachment=undefined]
是不是這些檔案有問題?
离线xu4510014
只看该作者 4楼 发表于: 2011-10-17
我使用的glut檔名是
glutdlls37beta
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

這兩天看到有人說可以使用freeglut
但是沒有教學
不知道各位大大有用過嗎?
离线wxj120bw

只看该作者 5楼 发表于: 2011-10-17
回 3楼(xu4510014) 的帖子
就是下面图所示的


离线xu4510014
只看该作者 6楼 发表于: 2011-10-17
"compile output" 視窗裡面 有下列這些資料


Running build steps for project untitled1...

Configuration unchanged, skipping qmake step.
Starting: "C:\QtSDK\mingw\bin\mingw32-make.exe"
c:\qtsdk\desktop\qt\4.7.4\mingw\bin\qmake.exe -spec c:\QtSDK\Desktop\Qt\4.7.4\mingw\mkspecs\win32-g++ -o Makefile ..\untitled1\untitled1.pro
WARNING: d:\download\untitled1\untitled1.pro:23: Unescaped backslashes are deprecated.
WARNING: d:\download\untitled1\untitled1.pro:23: Unescaped backslashes are deprecated.
WARNING: d:\download\untitled1\untitled1.pro:23: Unescaped backslashes are deprecated.
C:/QtSDK/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `D:/download/untitled1-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug'
g++ -mthreads -Wl,-subsystem,windows -o debug\untitled1.exe debug/main.o debug/mainwindow.o debug/glwidget.o debug/moc_mainwindow.o debug/moc_glwidget.o  -L"c:\QtSDK\Desktop\Qt\4.7.4\mingw\lib" -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 -lqtmaind D:\download\untitled1\glut.lib D:\download\untitled1\glut32.lib -lQtOpenGLd4 -lQtGuid4 -lQtCored4 -LC:\OpenSSL-Win32_full\lib
mingw32-make[1]: Leaving directory `D:/download/untitled1-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug'
debug/main.o: In function `Z5qMainiPPc':
D:\download\untitled1-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../untitled1/main.cpp:9: undefined reference to `glutInit'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\untitled1.exe] Error 1
mingw32-make: *** [debug] Error 2
The process "C:\QtSDK\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building project untitled1 (target: Desktop)
When executing build step 'Make'
离线wxj120bw

只看该作者 7楼 发表于: 2011-10-17
回 6楼(xu4510014) 的帖子
glut32.dll这样的文件在D:\download\untitled1目录下 或者所在目录下在系统变量下吗 如果在 很可能是kimtaikee说的那样 版本的问题
离线xu4510014
只看该作者 8楼 发表于: 2011-10-17
謝謝各位大大

真的是版本的問題
我下載新的版本glut-3.7.6-bin
http://www.xmission.com/~nate/glut/glut-3.7.6-bin.zip

在把glut.h檔案 放在專案資料夾內
使用#include "glut.h"

可以正常地顯示出glut的"茶壺"
非常感謝各位大大
离线loserboy2004

只看该作者 9楼 发表于: 2011-11-15
我没有你那样一样用QT+GLUT库一样做出来了。
我的做法是把glut32.dll,glut.dll放入到C:\WINDOWS\SYSTEM32里面
然后把glut32.lib,glut.lib复制到QT安装路径下面的mingw\lib文件夹里(我的是:D:\Qt\2010.04\mingw\lib),把glut.h放到mingw\include\GL文件夹里(我的是:D:\Qt\2010.04\mingw\include\GL),然后建一个空项目OpenGL.pro,并且向本项目里添加main.cpp,main.cpp的内容如下(这是一个测试项目):
#include <windows.h>//这个头文件包含在Win里都必须包含,不然无法编译.
#include <GL/glut.h>
void renderScence()
{
glClear(GL_COLOR_BUFFER_BIT);
glutSwapBuffers();


离线loserboy2004

只看该作者 10楼 发表于: 2011-11-15
}
void setupRC()
{
glClear(0,0,0,1);
}
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE);
glutCreateWindow("OpenGL");
glutDisplayFunc(renderScence);
setupRC();
glutMainLoop();
}
最后再在OpenGL.pro里添加:
LIBS=-l opengl32 -l glut32 -l glut
再编译就可以看到一个黑色的窗口。是用GLUT库编译的。
快速回复
限100 字节
 
上一个 下一个