[OpenGL, GLUT] problem z plikiem glut.h
Ostatnio zmodyfikowano 2013-01-02 16:20
amu Temat założony przez niniejszego użytkownika |
[OpenGL, GLUT] problem z plikiem glut.h » 2013-01-02 11:49:45 Problem pojawia się przy kompilacji dowolnego kodu. Zawsze dotyczy dwóch funkcji c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\GL\glut.h|486|undefined reference to `__glutInitWithExit'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\GL\glut.h|503|undefined reference to `__glutCreateWindowWithExit'| poniżej załączam fragment pliku glut.h gdzie jest w/w błąd GLUTAPI void APIENTRY glutInit( int * argcp, char ** argv ); #if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) GLUTAPI void APIENTRY __glutInitWithExit( int * argcp, char ** argv, void( __cdecl * exitfunc )( int ) ); #ifndef GLUT_BUILDING_LIB static void APIENTRY glutInit_ATEXIT_HACK( int * argcp, char ** argv ) { __glutInitWithExit( argcp, argv, exit ); } #define glutInit glutInit_ATEXIT_HACK #endif #endif GLUTAPI void APIENTRY glutInitDisplayMode( unsigned int mode ); #if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) GLUTAPI void APIENTRY glutInitDisplayString( const char * string ); #endif GLUTAPI void APIENTRY glutInitWindowPosition( int x, int y ); GLUTAPI void APIENTRY glutInitWindowSize( int width, int height ); GLUTAPI void APIENTRY glutMainLoop( void );
GLUTAPI int APIENTRY glutCreateWindow( const char * title ); #if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) GLUTAPI int APIENTRY __glutCreateWindowWithExit( const char * title, void( __cdecl * exitfunc )( int ) ); #ifndef GLUT_BUILDING_LIB static int APIENTRY glutCreateWindow_ATEXIT_HACK( const char * title ) { return __glutCreateWindowWithExit( title, exit ); } #define glutCreateWindow glutCreateWindow_ATEXIT_HACK #endif #endif
później mam jeszcze błędy w pliku main.cpp również: undefined reference to:<tutaj kolejne funkcje opengla> ale w linkerze mam dodane wszystko jak trzeba: glut32, opengl32, glu32, gdi32, winmm. Pliki są na swoich miejscach itp itd. Używam CodeBlocks 12.11 Proszę o pomoc, przeszukałem już wiele for, bezskutecznie. I przepraszam, ale nie wiem jak umieścić kod w odpowiednich ramkach. |
|
Mike148 |
» 2013-01-02 12:50:18 A dodałeś bibliotekę do opcji linkera (żeby zlinkował ją) ? Jeśli tak to najprawdopodobniej nie masz biblioteki glut.dll w windows/system lub przy pliku .exe |
|
amu Temat założony przez niniejszego użytkownika |
» 2013-01-02 13:07:11 wkleiłem glut.dll we wszystkich wskazanych przez Ciebie miejscach z jednym wyjątkiem - pliku exe jeszcze nie mam, ponieważ kompilacja nie dobiegła końca. Niestety błąd dalej występuje. |
|
Mike148 |
» 2013-01-02 14:01:46 A czy w opcjach linkera ustawiłeś jej linkowanie
Dajesz Project -> Build options -> Linker settings -> I w polu : Other linker options wpisujesz -lglut32 -lopengl32 -lglu32 -lwinmm -lgdi32
|
|
MeGameOne |
» 2013-01-02 14:04:46 Wewyznaczonych miejscach wklej plik glut .h |
|
Mike148 |
» 2013-01-02 14:16:06 Wewyznaczonych miejscach wklej plik glut .h |
Wiesz, że to nie pomoże. Kompilator nie zwraca błędu, że nie znalazł pliku glut.h (przecież podaje jego ścieżkę) tylko nie znalazł funkcji, które są zdefiniowane w pliku glut.h, czyli nie ma najprawdopodobniej zlinkowanej biblioteki. A cha. "W wyznaczonych" się mówi i pisze ;) |
|
MeGameOne |
» 2013-01-02 14:28:41 W code blocks ten blad oznacza że brakuje mu danego pliku . A co do mojego błędu to muszę powiedzieć że na tablecie ciężki sie pisze. Pozdro |
|
Mike148 |
» 2013-01-02 14:35:42 c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\GL\glut.h|486|undefined reference to `__glutInitWithExit'| Tu to raczej chyba plik ma bo ci ścieżkę do niego podaje. Jak brakuje pliku to jest "missing files" a tu jest "undefined reference to", czyli tak jak mówiłem nie ma biblioteki :) |
|
« 1 » 2 |