Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Open GL - problem przy kompilacji pierwszego programu

Ostatnio zmodyfikowano 2014-11-24 22:39
Autor Wiadomość
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?
P-121173
Jacob99
» 2014-11-22 17:58:38
Jeśli kompilujesz z rozszerzeniem .cpp to zmień je na .c i spróbuj skompilować.
P-121174
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.
P-121206
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ć.
P-121207
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ą?
P-121216
Gabes
» 2014-11-23 18:52:06
P-121229
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'
 
 
prosze zerknac
prosze zerknac
 
P-121303
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
P-121328
« 1 »
  Strona 1 z 1