Raziel Temat założony przez niniejszego użytkownika |
Open GL - problem przy kompilacji pierwszego programu » 2014-11-22 16:28:19 Witam, nie mogę skompilować programu z drugiej lekcji Open GL w Code::Blocks. Po kliknięciu F9 przenosi mnie do nowej zakładki glut.h i wskazuje na: WGLAPI int GLAPIENTRY wglDeleteContext(HGLRC); natomiast log kompilacji: Compiling: C:\Users\Komputer\Desktop\cpp\gl\kwadrat1.cpp In file included from C:\Users\Komputer\Desktop\cpp\gl\kwadrat1.cpp:7: c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/GL/glut.h:129: note: #pragma message: note: WINDOWS.H not included, providing Mesa definition of CALLBACK macro c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/GL/glut.h:130: note: #pragma message: ----: and PROC typedef. If you receive compiler warnings about either c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/GL/glut.h:131: note: #pragma message: ----: being multiply defined you should include WINDOWS.H priot to gl/glut.h c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/GL/glut.h:142: note: #pragma message: note: WINDOWS.H not included, providing Mesa definition of wgl functions c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/GL/glut.h:143: note: #pragma message: ----: and macros. If you receive compiler warnings about any being multiply c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/GL/glut.h:144: note: #pragma message: ----: defined you should include WINDOWS.H priot to gl/glut.h c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/GL/glut.h:160: error: expected initializer before 'wglDeleteContext' c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/GL/glut.h:161: error: expected initializer before 'wglMakeCurrent' c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/GL/glut.h:162: error: expected initializer before 'wglSetPixelFormat' itd... Dodałem: #include <windows.h> jednak również się rozkokoszył, przenosząc do zakładki windows.h wskazując na AL_METHOD(struct BITMAP *, create_bitmap, (int color_depth, int width, int height)); natomiast log kompilacji: Compiling: C:\Users\Komputer\Desktop\cpp\gl\kwadrat1.cpp In file included from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/allegro.h:27, from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/GL/glut.h:10, from C:\Users\Komputer\Desktop\cpp\gl\kwadrat1.cpp:8: c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/allegro/system.h:209: error: using typedef-name 'BITMAP' after 'struct' c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/wingdi.h:1353: error: 'BITMAP' has a previous declaration here c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/allegro/system.h:210: error: using typedef-name 'BITMAP' after 'struct' c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/wingdi.h:1353: error: 'BITMAP' has a previous declaration here itd... Jestem laikiem. W czym twki problem? Konfiguracji Code::Blocks? |
|
Jacob99 |
» 2014-11-22 17:58:38 Jeśli kompilujesz z rozszerzeniem .cpp to zmień je na .c i spróbuj skompilować. |
|
Raziel Temat założony przez niniejszego użytkownika |
» 2014-11-23 09:25:21 Dziękuję za szybką odpowiedź, niestety zmiana rozszerzenia nic nie zmieniała. |
|
Jacob99 |
» 2014-11-23 11:35:50 Nie zauważyłem wcześniej, ale dzisiaj przyjrzałem się i w windows.h nie ma AL_METHOD( struct BITMAP *, create_bitmap,( int color_depth, int width, int height ) ); , bo nie ma tam w ogóle żadnych deklaracji (ani tym bardziej takich dziwnych kombinacji jak ta). Spróbuj utworzyć nowy projekt, podlinkować go i jeszcze raz spróbować skompilować. |
|
Raziel Temat założony przez niniejszego użytkownika |
» 2014-11-23 16:15:58 Zainstalowałem Code::Blocks ponownie. Prawdopodobnie coś namieszałem instalując Allegro. Po przeinstalwoaniu uznał, że nie ma biblioteki GL/glut.h. Szukałem GL/glut.h, jednak wskazało mi tylko glut.h (bez GL) Pobrałem z tej strony: http://januszg.hg.pl/opengl/ . Jednak to nie jest to.
Nie mogę znaleźć GL/glut.h dla Code::Blocks. Są tylko FreeGlut, albo bez GL. Czy ta blibliteka musi dokladnie się nazywać GL/glut.h czy można zastąpić inną? |
|
Gabes |
» 2014-11-23 18:52:06 |
|
Raziel Temat założony przez niniejszego użytkownika |
» 2014-11-24 19:43:26 Dziękuję za wyrozumiałość i wyczerpującą odpowiedź. Chyba coś jest nie tak z moim Code:Blocks. Ostatnio instalwoałem Allegro, udało się, jednak może coś namieszałem. Odnośnie GL. Pobrałem bibliotekę, wypakowałem do folderu na pulpicie i nie działa. Prosze ocenić czy zainstalowałem biblioteke poprawnie: Mam windows 7 64 bit Pojawiają mi się błędy typu: undefined reference to `_imp____glutInitWithExit@12' |
|
Gabes |
» 2014-11-24 22:39:51 Jeśli linkujesz statycznie (freeglut_static) to w: Project build options / #defines wpisz FREEGLUT_STATIC lub na początku w swoim kodzie #define FREEGLUT_STATIC |
|
« 1 » |