Opengl doesn't work with Qt
-
Maybe you can provide more info? Errors, sample code, etc.?
P.S. And it is Qt, not QT :) Please change title
-
Hi Thanks for P.S ;) .... it's a very simple code to draw a line just for test, but the error happens when it wants to be complied, the error is about opengl calling function like "glutDisplayFunc(display)" or "glutInit(&argc, argv)" which can not refer to them, I check .pro file in Qt and the command Qt+= opengl is exist, so I guess there should be an other problem.....
-
Can you post here exact error? I doubt that I will help (never tried opengl under windows), but it will be easier for others to help with all info you can give.
-
Hi Guys sorry for my late reply, here is errors :
C:\Users\FGHASSEMIT\ne1\ne1.cpp:-1: error: undefined reference to
__glutInitWithExit@12' C:\Users\FGHASSEMIT\ne1\ne1.cpp:-1: error: undefined reference to
glutInitDisplayMode@4'
C:\Users\FGHASSEMIT\ne1\ne1.cpp:-1: error: undefined reference toglutInitWindowSize@8' C:\Users\FGHASSEMIT\ne1\ne1.cpp:-1: error: undefined reference to
glutInitWindowPosition@8'
C:\Users\FGHASSEMIT\ne1\ne1.cpp:-1: error: undefined reference to__glutCreateWindowWithExit@8' C:\Users\FGHASSEMIT\ne1\ne1.cpp:-1: error: undefined reference to
glutDisplayFunc@4'
C:\Users\FGHASSEMIT\ne1\ne1.cpp:-1: error: undefined reference to `glutMainLoop@0'
:-1: error: collect2: ld returned 1 exit statusand here is my .pro file :
TARGET = ne1
TEMPLATE = app
DEPENDPATH += .
INCLUDEPATH += .
SOURCES += ne1.cpp
HEADERS += ne1.h
ne1_global.hCONFIG += opengl
releaseQT += opengl
LIBS += -glut32 -glut
for "LIBS += " I changed for only -glut but still the same errors come ...
Looking forward for your solution
Thanks in advance . -
-
If you really want ot use GLUT, I think you'll have to find a Windows port of GLUT, and install it, e.g. "this one":http://www.xmission.com/~nate/glut.html. Then, you must add the library, as well as the path to where you installed it, to the LIBS variable. And possible set the include path as well.
But, most of the things you get from using GLUT are things you don't really need when you use OpenGL with Qt. It makes sense to use GLUT or Qt, but not really both.
-
You are saying that you can use GLUT from plain C++ code, but not from Qt code? In that case you must have it installed somewhere already. You just need to tell where, in your .pro file, so that qmake can find it. I.e., you must add something like:
@
LIBS += -lglut
LIBS += -LC:/location/of/glut
@
I'm not sure this is what's missing, though. Since you don't get an error saying it cannot find the glut library. Looks like it actually finds it, but not the symbols it needs. Strange.Which compiler are you using? The same one you use when compiling plain C++ code?
-
Yes I am using in plain C++ without problem,
But I can not find any file like lglut in my pc(where can I get this file) ??????
I have only glut, glut32 (header file and lib file )....
but I never tried the second line which you mentioned above, I will try the second one seems by the second line error should be gone hopefully by the way now I uninstall the Qt and trying to get the new version as soon as I install I will apply this and I will let you know about it .... many many thanks to you that spend your time for my problem ..... -
-l stands for library and -L for library path, see "qmake doc":http://doc.qt.nokia.com/4.7/qmake-variable-reference.html#libs
[quote author="fery13" date="1309197219"]Yes I am using in plain C++ without problem,
But I can not find any file like lglut in my pc(where can I get this file) ??????
I have only glut, glut32 (header file and lib file ).... [/quote] -
-lglut is like a command line option, which you use to tell qmake to use a library. -l is the option and glut the argument. On Windows, the file should be called glut.lib. -L is used to add a directory in which to look for libraries.
I don't think this is the problem, though. It seems to find GLUT and is unable to link with it. Maybe you simply cannot do this, because using those functions mentioned above together with Qt really makes no sense.
-
That's strange I tried all, but still errors, also I re install Qt ... here is my .pro:
@
#-------------------------------------------------Project created by QtCreator 2011-06-23T18:42:17
#-------------------------------------------------
TARGET = open1
TEMPLATE = app
DEPENDPATH += .
INCLUDEPATH += .
SOURCES += open1.cpp
HEADERS += open1.h
open1_global.hCONFIG += opengl
releaseQT += opengl
LIBS += -lglut
LIBS += C:\Users\FGHASSEMIT\Documents\qt\GL\glut.lib
@
and here errors ::-1: error: cannot find -lglut
:-1: error: collect2: ld returned 1 exit status.................
this is the same if I write glut32 instead of glut ....
:(Edit: Added @ tags