Ĺadny brzuch
podczas kompilowania jakiegokolwiek programu wykorzystującego OpenGL otrzymuję takie błędy:
(Linker error) undefined reference to `glBegin@4'
(Linker error) undefined reference to `glVertex3f@12'
(Linker error) undefined reference to `glVertex3f@12'
(Linker error) undefined reference to `glutInit@8'
(Linker error) undefined reference to `glutMainLoop@0'
(...)
i tak dalej uzyskując listę wszystkich użytych przezemnie funkcji.
nie wiem czemu tak się dzieje ,wcześniej niczego takiego nie było.
a dales w opcjach projektu info dla linkera ze ma uzyc biblioteki OGL'a? :>
spojrz do przykladu OGL dla Dev-Cpp
a czy przypadkiem nie usunąłeś plików gl.h, glex.h i glu.h z katalogu ...\dev-cpp\includes\GL? Są to, z tego co pamietam, biblioteki do obsługi grafiki w dev-c++... ;)
Jeśli piszesz w dev-cpp: Project -> Project Options -> Parameters -> Add Library or Object -> szukasz "libopengl32.a" w dev-cpp\lib. Tak robisz też z "libglut32.a" :)
A parametry konsolidatora wpisałeś?
I z jakiej biblioteki korzystasz?
Użytkownik dulu edytował ten post 17 grudzień 2005, 15:45
a dales w opcjach projektu info dla linkera ze ma uzyc biblioteki OGL'a? :>
spojrz do przykladu OGL dla Dev-Cpp
ale nie chodzi o includowanie tylko o parametry dla linkera!
W katalogu bin w dev-cpp:g++ main.cpp -o main.exe -L "lib" ..\lib\libopengl32.a
Zauwarzyłem coś innego.Gdy zakomentuję ostatnią linię poniżej:
#include <GL/gl.h> #include <GL/glu.h> #include <GL/glut.h> #include <stdlib.h> //<-tą
to kompilator już nie informuje i błędnym linkowaniu.Jednak w tym ostatnim pliku jest funkcja exit() ,której potrzebuję...
Nie używam projektów. To moze czas zaczac ?
Błąd powoduje chyba bibloteka glu.h.Bez niej program potrafi się skompilować.
Włączenie tej biblioteki sprawia problem linkierowi listując mi wszystkie funkcje jakie inkluduje i używam.Pod projektem jest trochę lepiej ,ale nadal wyświetla mi funkcje (lecz mniej).
Pomórzcie ,bo już nie wiem czy mam złe biblioteki ,kompilator ,czy coś jeszcze.
a #include <windows.h> dales na poczatku ?. Wez no rzuc zzipowanym projektem bo inaczej to strata miejsca w bazie forum ...
a #include <windows.h> dales na poczatku ?. Wez no rzuc zzipowanym projektem bo inaczej to strata miejsca w bazie forum ...
skompilowalem z miejsca.
wystarczylo dodac dwa liby i bylo po sprawie.
A teraz quiz - co robisz jak linker wyrzuca ci unresolved externalka, a nie wiesz jakiego liba podpiac i chcesz sie dowiedziec ? (od razu mowie - za odp. "postuje na forum" strzal z kalacha)
//edit - migajek - suuuuper. W ten sposob oczywiscie nauczy sie szukac libow i juz nigdy wiecej nie bedzie sie pytal co dolaczyc ... rispekt ;p
Użytkownik st3tc edytował ten post 22 grudzień 2005, 12:41
a co opcji projektu dodales libglu32.a dla linkera ? :)
To jest cała linia komendd:\progz\dev-cpp\bin\g++ main.cpp -o main.exe -L "lib" d:\progz\dev-cpp\lib\libopengl32.a d:\progz\dev-cpp\lib\libglu32.a d:\progz\dev-cpp\lib\libgdi32.aTak skompilowałem bez problemów...
Użytkownik Cyrkiel edytował ten post 22 grudzień 2005, 12:51
Cyrkiel: Dzzzięękkkiii ,kompiluje się bez problemu :guru:
st3tc: Nic nie robię ("A ten post ,to co to jest" - odp: nie wiedziałem ,że to ma związek z bibliotekami).Nie wiem czym są pliki w /lib/ i nigdy nie potrzebowałem tego wiedzieć.Dodawałem tylko pliki nagłówkowe (już słyszę "a skąd kompilator ma wziąść funkcje").
Obydwaj + Migajek:Do OpenGL nigdy nie używałem projektów ,bo kompilator jakoś zawsze znajdował biblioteki (nie mówiąc o wygodzie - jeden plik).Czy to (moje ostatnie pytanie) winna innego systemu operacyjnego?
Cyrkiel: Dzzzięękkkiii ,kompiluje się bez problemu :guru:
st3tc: Nic nie robię ("A ten post ,to co to jest" - odp: nie wiedziałem ,że to ma związek z bibliotekami).Nie wiem czym są pliki w /lib/ i nigdy nie potrzebowałem tego wiedzieć.Dodawałem tylko pliki nagłówkowe (już słyszę "a skąd kompilator ma wziąść funkcje").
Obydwaj + Migajek:Do OpenGL nigdy nie używałem projektów ,bo kompilator jakoś zawsze znajdował biblioteki (nie mówiąc o wygodzie - jeden plik).Czy to (moje ostatnie pytanie) winna innego systemu operacyjnego?
st3tc: Nic nie robię No i spoko. Tak tez mozna. W takim razie ja rowniez nie bede tracil czasu zeby Ci tlumaczyc ...
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
(Linker error) undefined reference to `glBegin@4'
(Linker error) undefined reference to `glVertex3f@12'
(Linker error) undefined reference to `glVertex3f@12'
(Linker error) undefined reference to `glutInit@8'
(Linker error) undefined reference to `glutMainLoop@0'
(...)
i tak dalej uzyskując listę wszystkich użytych przezemnie funkcji.
nie wiem czemu tak się dzieje ,wcześniej niczego takiego nie było.
a dales w opcjach projektu info dla linkera ze ma uzyc biblioteki OGL'a? :>
spojrz do przykladu OGL dla Dev-Cpp
a czy przypadkiem nie usunąłeś plików gl.h, glex.h i glu.h z katalogu ...\dev-cpp\includes\GL? Są to, z tego co pamietam, biblioteki do obsługi grafiki w dev-c++... ;)
Jeśli piszesz w dev-cpp: Project -> Project Options -> Parameters -> Add Library or Object -> szukasz "libopengl32.a" w dev-cpp\lib. Tak robisz też z "libglut32.a" :)
A parametry konsolidatora wpisałeś?
I z jakiej biblioteki korzystasz?
Użytkownik dulu edytował ten post 17 grudzień 2005, 15:45
a dales w opcjach projektu info dla linkera ze ma uzyc biblioteki OGL'a? :>
spojrz do przykladu OGL dla Dev-Cpp

ale nie chodzi o includowanie tylko o parametry dla linkera!
W katalogu bin w dev-cpp:g++ main.cpp -o main.exe -L "lib" ..\lib\libopengl32.a
Zauwarzyłem coś innego.Gdy zakomentuję ostatnią linię poniżej:
#include <GL/gl.h> #include <GL/glu.h> #include <GL/glut.h> #include <stdlib.h> //<-tą
to kompilator już nie informuje i błędnym linkowaniu.Jednak w tym ostatnim pliku jest funkcja exit() ,której potrzebuję...
Nie używam projektów. To moze czas zaczac ?
Błąd powoduje chyba bibloteka glu.h.Bez niej program potrafi się skompilować.
Włączenie tej biblioteki sprawia problem linkierowi listując mi wszystkie funkcje jakie inkluduje i używam.Pod projektem jest trochę lepiej ,ale nadal wyświetla mi funkcje (lecz mniej).
Pomórzcie ,bo już nie wiem czy mam złe biblioteki ,kompilator ,czy coś jeszcze.
a #include <windows.h> dales na poczatku ?. Wez no rzuc zzipowanym projektem bo inaczej to strata miejsca w bazie forum ...
a #include <windows.h> dales na poczatku ?. Wez no rzuc zzipowanym projektem bo inaczej to strata miejsca w bazie forum ...

skompilowalem z miejsca.
wystarczylo dodac dwa liby i bylo po sprawie.
A teraz quiz - co robisz jak linker wyrzuca ci unresolved externalka, a nie wiesz jakiego liba podpiac i chcesz sie dowiedziec ? (od razu mowie - za odp. "postuje na forum" strzal z kalacha)
//edit - migajek - suuuuper. W ten sposob oczywiscie nauczy sie szukac libow i juz nigdy wiecej nie bedzie sie pytal co dolaczyc ... rispekt ;p
Użytkownik st3tc edytował ten post 22 grudzień 2005, 12:41
a co opcji projektu dodales libglu32.a dla linkera ? :)
To jest cała linia komendd:\progz\dev-cpp\bin\g++ main.cpp -o main.exe -L "lib" d:\progz\dev-cpp\lib\libopengl32.a d:\progz\dev-cpp\lib\libglu32.a d:\progz\dev-cpp\lib\libgdi32.aTak skompilowałem bez problemów...
Użytkownik Cyrkiel edytował ten post 22 grudzień 2005, 12:51
Cyrkiel: Dzzzięękkkiii ,kompiluje się bez problemu :guru:
st3tc: Nic nie robię ("A ten post ,to co to jest" - odp: nie wiedziałem ,że to ma związek z bibliotekami).Nie wiem czym są pliki w /lib/ i nigdy nie potrzebowałem tego wiedzieć.Dodawałem tylko pliki nagłówkowe (już słyszę "a skąd kompilator ma wziąść funkcje").
Obydwaj + Migajek:Do OpenGL nigdy nie używałem projektów ,bo kompilator jakoś zawsze znajdował biblioteki (nie mówiąc o wygodzie - jeden plik).Czy to (moje ostatnie pytanie) winna innego systemu operacyjnego?
Cyrkiel: Dzzzięękkkiii ,kompiluje się bez problemu :guru:
st3tc: Nic nie robię ("A ten post ,to co to jest" - odp: nie wiedziałem ,że to ma związek z bibliotekami).Nie wiem czym są pliki w /lib/ i nigdy nie potrzebowałem tego wiedzieć.Dodawałem tylko pliki nagłówkowe (już słyszę "a skąd kompilator ma wziąść funkcje").
Obydwaj + Migajek:Do OpenGL nigdy nie używałem projektów ,bo kompilator jakoś zawsze znajdował biblioteki (nie mówiąc o wygodzie - jeden plik).Czy to (moje ostatnie pytanie) winna innego systemu operacyjnego?

st3tc: Nic nie robię No i spoko. Tak tez mozna. W takim razie ja rowniez nie bede tracil czasu zeby Ci tlumaczyc ...