• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Kompilacja GLEW na MinGW

Object Storage Arubacloud
0 głosów
358 wizyt
pytanie zadane 22 grudnia 2015 w C i C++ przez criss Mędrzec (172,590 p.)
zamknięte 17 listopada 2016 przez criss

Jak w temacie - mam problem z kompilacją GLEW z użyciem MinGW. Gotowe binarki z ich strony... nie wiem co z nimi. Miałem małe problemy z linkowaniem, w końcu zamiast glew32s (s oznacza static) zalinkowałem glew32 i w końcu nie wiem jak jest zalinkowane. Makro GLEW_STATIC ciągle stoi zdefiniowane. Ostatecznie nie wyrzuca żadnych errorów typu undefined reference, poza zmienną glewExperimental. Tej nie widzi. O glViewport i inicjalizacje GLEW-u się nie czepia.

Znalazłem to http://stackoverflow.com/questions/6005076/building-glew-on-windows-with-mingw ale niewiele z tego rozumiem. Za pomocą CMake-a też nie jestem w stanie tego zrobić - w folderze ze źródłem z oficjalnej strony nie ma pliku CMakeLists.txt, więc pewnie nie powinno sie uzywać CMake-a do tego. W każdym razie jestem w tych sprawach zupełnie nowy i byłbym wdzięczny jakby znalazł się ktoś, kto już to robił/orientuje się lepiej niż ja.

komentarz zamknięcia: .
komentarz 21 grudnia 2017 przez Greg Nowicjusz (100 p.)

Mam ten sam problem. Na oficjalnej stronie podane są binarki ale skompilowane pod Visual Studio a nie pod mingw. Pobrałem źródła, zainstalowałem msys2, a w nim:

pacman -S git python gcc make  mingw-w64-i686-gcc mingw-w64-x86_64-gcc 
make extensions
make

ale podczas kompilacji występują błędy, trzeba jeszcze w katalogu config znaleźć Makefile.mingw i usunąć linię -nostdlib, nie będzie błędów i w katalogu lib znajdą się skompilowane biblioteki. Natomiast problem jest kiedy zbuduję projekt a następnie uruchomię jest błąd. Eclipse podaje coś takiego: <terminated> (exit value: -1 073 741 819) OpenGL.exe bla bla bla ...i program się karszuje. Błagam pomocy, siedzę już dobę nad tym ;)

komentarz 23 grudnia 2017 przez criss Mędrzec (172,590 p.)
Sorry, że tak późno.

Ale to dawno było :D adrian mi odpowiedział i z mojej reakcji wynika (już nie pamiętam), że zadziałało. Próbuj tak, jeśli będziesz miał jakieś pytania to pytaj tu, albo załóż nowy temat.

1 odpowiedź

+1 głos
odpowiedź 22 grudnia 2015 przez adrian17 Ekspert (344,860 p.)
wybrane 14 listopada 2016 przez criss
 
Najlepsza
Chwila, to chcesz używać GLEW czy skompilować GLEW? Jeśli to pierwsze to znacząco przekombinowałeś. W zupełności wystarczą binarki z ich strony. Dla prostoty bym polecił zacząć od dzielonych bibliotek (po kompilacji położyć DLL obok pliku wykonywalnego), bo praktycznie niemal każdą taką bibliotekę do projektu dodaje się tak samo.

https://puu.sh/m4OCL/0be11e2c86.mp4
komentarz 22 grudnia 2015 przez criss Mędrzec (172,590 p.)
Coś nie dziala tak jak powinno, więc pomyślałem, że skompiluje, żeby były maksymalnie kompatybilne. Czytałem na SO - ludzie piszą, że często nie działa na MinGW i zaleca się samemu skompilować. No ale dobra, dzięki wielkie za filmik :D ... ale czym jest ta opcja -lglew32 i dlaczego nie musisz nic linkować? Dlaczego w takim razie podajesz linker search directory?

No w każdym razie - u mnie to nie działa. Nawet tworząc nowy projekt i ustawiając wszystko identycznie.
komentarz 22 grudnia 2015 przez criss Mędrzec (172,590 p.)

Hmm, kompiluje się jeśli:

  1. zalinkowana jest glew32s
  2. jako opcja (other linking options) jest -lglew32s
  3. linker search directory jest .../lib/Release/Win32 (przy x64 undefined reference itd)

Możliwe, że działałoby też glew32.lib i opcja -lglew32 (bez s), ale nie sprawdzałem - zależało mi na statycznym linkowaniu (z #define GLEW_STATIC).

Nie wiem co to właściwie zmienia w praktyce czy linkuje te z Win32 czy z x64, no ale działa... póki co. 

komentarz 22 grudnia 2015 przez adrian17 Ekspert (344,860 p.)

Win32/x64 to wybór architektury 32/64-bitowej.

ale czym jest ta opcja -lglew32 i dlaczego nie musisz nic linkować?

Linkuję... właśnie opcją -lglew32. Ta opcja oznacza dosłownie "linkuj plik glew32.lib".

Jak działa to ok.

komentarz 22 grudnia 2015 przez criss Mędrzec (172,590 p.)

No nie wiem.. u mnie działa dopiero z tą opcją i *.lib dodaną w Link libraries. Dziwne, ale ok..

Wyświetla się tylko warning .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized ale to tyle.

Podobne pytania

0 głosów
0 odpowiedzi 308 wizyt
pytanie zadane 13 stycznia 2016 w Nasze poradniki przez criss Mędrzec (172,590 p.)
0 głosów
1 odpowiedź 761 wizyt
pytanie zadane 1 grudnia 2016 w C i C++ przez Jakub Chomicz Początkujący (380 p.)
+10 głosów
0 odpowiedzi 2,397 wizyt

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...