Autor Wątek: undefined reference.... openglut glutSolidSierpinskiSponge  (Przeczytany 2339 razy)

Offline Darck

  • Użytkownik

# Styczeń 22, 2007, 01:26:33
Uzywam Code::Blocks, OpenGlut z paczki devpack, jaka mi program zainstalowal. Kompiluje dolaczajac nastepujace biblioteki: -lglut32 -lglu32 -lopengl32
Nie ma problemu z uzywaniem OpenGL czy Glut, jesli nie uzywam funkcji z openglut_ext.h typu glutSolidSierpinskiSponge, dostaje wtedy komunikat "undefined reference to `_imp__glutSolidRhombicDodecahedron@0"
Za to glutSolidSphere( 0.75f,20,20); dziala bez problemow.

Czy musze dolinkowac jakas specjalna biblioteke opengluta ? Mam wrazenie ze kiedys kody typu glutSolidSierpinskiSponge; kompilowaly sie bezproblemowo.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

bies

  • Gość
# Styczeń 22, 2007, 01:40:48
A do czego linkujesz program? Bo biblioteka w OpenGLUT.DevPak to libopenglut.a - czyli -lopenglut. Nie masz przypadkiem zainstalowanego zwykłego GLUT?

Offline Darck

  • Użytkownik

# Styczeń 22, 2007, 01:46:17
a jak nazywa sie biblioteka zwyklego gluta?

bies

  • Gość
# Styczeń 22, 2007, 02:00:30
Jeśli dobrze pamiętam to libglut32.a - i to by się zgadzało z opcjami które masz ustawione. Inna sprawa, że zupełnie nie wiem skąd masz devpaka do OpenGLUT. Może po prostu zmień rozszerzenie z devpak na tar.bz2 i sprawdź co jest w środku (np. 7zip rozpakowuje takie archiwa - o GNU Tar / Bzip2 nie wspominając).

Offline Darck

  • Użytkownik

# Styczeń 22, 2007, 12:11:28
w devpacku bylo libopenglut.a, ktore instalator wypakowal do folderu z libami. Nie moge usunac libglut32.a, bo bez tego jest jeszcze wiecej bledow, a czytalem ze openGL trzeba kompilowac wlasnie z opcjami -lglut32 -lglu32 -lopengl32.W libopenglut.a znajduja sie ciagi "glutSolidRhombicDodecahedron", wiec wydaje sie, ze powinna obslugiwac te funkcje.
« Ostatnia zmiana: Styczeń 22, 2007, 12:13:23 wysłana przez Darck »

bies

  • Gość
# Styczeń 22, 2007, 12:14:15
Użyj opcji -lopenglut -lglu32 -lopengl32 i napisz czy były i jakie błędy.

Offline Darck

  • Użytkownik

# Styczeń 22, 2007, 13:22:08
teraz wszystkie funkcje gluta wywala jako niezdefiniowane

Offline .:NOXY:.

  • Użytkownik
    • Profil

# Styczeń 22, 2007, 13:38:00
Prawdopodobnie nie dodajesz ciała funkcji... używasz funkcji z *.h" ale nie dajesz lib-ów... w VC to sie dodaje przez pragme np.

#pragma comment(lib, "opengl32.lib) spróbuj jakoś tak dodać w codeblock w opcjach kompilatora może pomoże a ile o to chodzi :P

bies

  • Gość
# Styczeń 22, 2007, 14:03:34
Sprawdź -lopenglut -lglut32 -lglu32 -lopengl32.

Offline Darck

  • Użytkownik

# Styczeń 22, 2007, 15:38:32
jest tak samo jak na poczatku

bies

  • Gość
# Styczeń 22, 2007, 21:53:34
Dobra, koniec wróżb - zrób co następuje:
1) Napisz najprostszy program w którym występuje Twój problem.
2) Zapisz do jako program.cpp.
3) Sprawdź czy masz dodaną ścieżkę do g++ do %PATH% - jeśli nie to dodaj.
4) W konsoli (cmd) wpisz g++ -lopenglut -lglut32 -lglu32 -lopengl32 program.cpp i pokaż cały wynik polecenia.
5) Pokaż źródło programu.