Problem z kwadrykami w Visual Studio

0

Witam,

Mam problem z kwadrykami w Visual Studio. Nie wiem, czy to moja wina, czy też bibliotek... Wydaje mi się, że to sprawka Visual Studio; może jakaś opcja jest włączona. Ale do rzeczy. Gdy chcę skorzystać z:

GLUquadricObj *o;
o = gluNewQuadric();

...to kompilator wywala błędy. Gdzieś przeczytałem, że tak się dzieje, gdy ma się włączoną opcję "menaged extensions" - ale nie wiem, gdzie ją znaleźć. Dołączam pliki gl.h, glu.h i glut.h, ale nadal to nic nie daje.

Błędy, które wyświetla kompilator:
'o' : 'int' differs in levels of indirection from 'GLUquadricObj *'
'initializing' : cannot convert from 'GLUquadric *' to 'int'
missing type specifier - int assumed. Note: C++ does not support default-int
IntelliSense: this declaration has no storage class or type specifier

Wie ktoś, w czym tkwi problem? Z góry dziękuję.

0

Dołączam pliki gl.h, glu.h i glut.h, ale nadal to nic nie daje.
Oryginalne z Visuala, czy jakieś dziwne? (na pewno glut nie jest oryginalny...)

0

ekhem http://msdn.microsoft.com/en-us/library/windows/desktop/dd368665(v=vs.85).aspx
Czyli wychodziłoby, że nie
GLUquadricObj *o;
tylko
GLUquadric *o;

0

Pliki glut mam od prowadzącego, gl.h i glu.h pobrałem skądś z Internetu. Co do
GLUquadric *o;
kompilator też wywala błędy.

1

No to nie używaj jakichś dzikich nagłówków od prowadzącego, tylko użyj tych z Visuala...

#include <gl/GLU.h>
...
...
GLUquadric *q = gluNewQuadric();

i w Visualu 2012 działa.

0

Dołączyłem nagłówki tak jak pisałeś, obiekt kwadryki utworzyłem też tak samo (kompilator przepuścił), ale gdy już próbuje mu nadać jakiś parametr, np.

GLUquadric *q = gluNewQuadric();
gluQuadricDrawStyle(q, GLU_FILL); 

To znowu się sypie:

too many initializers
'gluQuadricDrawStyle' : redefinition; previous definition was 'function'
missing type specifier - int assumed. Note: C++ does not support default-int
IntelliSense: expected a ')'
IntelliSense: this declaration has no storage class or type specifier

0

A nie jest teraz tak, że masz normalne includy oraz te dodatkowe?

0

Mam tak:

#include <windows.h>
#include "glut.h"
#include <gl/GL.h>
#include <gl/GLU.h>

<gl/GLUT.h> nie działa, więc zostawiłem tak jak jest.

0

Dzięki wszystkim za pomoc, ale rozwiązałem już problem. Kwadryki próbowałem rysować w już istniejących projektach (nie chciało mi się pisać kodu od podstaw) - a ponieważ chcieliście, abym podał pełen kod, więc napisałem jakiś przykładowy od początku, ograniczając się tylko do niezbędnych funkcji, a następnie sprawdziłem, czy narysuje mi cylinder. I o dziwo teraz zadziałało. Na pewno problemem była któraś z linijek kodu z projektów, które wcześniej wykorzystywałem. Nie wiem, czy to mogło mieć na to wpływ, ale wcześniej bryły próbowałem rysować w pliku, w którym ćwiczyłem sobie światła (pewnie w którymś miejscu to się ze sobą gryzło).

Teraz działa nawet bez dodatkowego dołączania glu.h i gl.h i przy GLUquadricObj.

Przepraszam za moje lenistwo i dzięki za poświęcony czas :). Pozdrawiam serdecznie :).

0
#include <windows.h> 
#include <gl/GL.h>
#include <gl/GLU.h>
#include "glut.h"

w tej kolejności.

1 użytkowników online, w tym zalogowanych: 0, gości: 1