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

ArchLinux + CodeBlocks + MinGw + SDL2

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
750 wizyt
pytanie zadane 8 kwietnia 2022 w C i C++ przez kubekszklany Gaduła (3,250 p.)
Witam. Potrzebuję zainstalować SDL2 w CodeBlocks na linuxie. Mam kompilator, ale ile razy próbowałem, tyle razy był problem z dołączeniem biblioteki SDL2. Używam manjaro (arch linux) jeśli ma to znaczenie. Ktoś byłby w stanie mi to wytłumaczyć krok po kroku?
komentarz 8 kwietnia 2022 przez adrian17 Mentor (354,120 p.)
edycja 8 kwietnia 2022 przez adrian17
Rozumiem, że instalowałeś przez `pacman -S sdl2`? Jakie dokładnie masz problemy po stronie C::B?

Bo jedynym co powinieneś musieć wtedy zrobić to https://lazyfoo.net/tutorials/SDL/01_hello_SDL/linux/codeblocks/linker.png
komentarz 8 kwietnia 2022 przez kubekszklany Gaduła (3,250 p.)
SDL2: No such file or directory. (Już po wpisaniu -lSDL2 do linkera)
komentarz 8 kwietnia 2022 przez adrian17 Mentor (354,120 p.)
Powtarzam pytanie, jak instalowałeś SDL2.

I pokaż pełny screenshot błędu i konfiguracji C::B.
komentarz 8 kwietnia 2022 przez kubekszklany Gaduła (3,250 p.)
W głównym liku cpp mam #include <SDL2/SDL.h>, próba kompilacji zwraca "ld: cannot find -lSDL2: Nie ma takiego pliku ani katalogu; error: ld returned 1 exit status", instalowałem z managera pakietów, konfiguracja wygląda tak: https://imgur.com/a/HAhxnEN
komentarz 8 kwietnia 2022 przez adrian17 Mentor (354,120 p.)
Jak instalowałeś z managera pakietów, to nie powinieneś był dodawać search directories.

Sprawdź czy faktycznie masz plik `/usr/lib/libSDL2.so` (kompilator powinien go znaleźć automatycznie)
komentarz 9 kwietnia 2022 przez kubekszklany Gaduła (3,250 p.)
Usunąłem search directories i nic to nie dało, plik libSDL2.so jest na miejscu.
komentarz 9 kwietnia 2022 przez adrian17 Mentor (354,120 p.)
Hm... to jeszcze wrzuć pełny log kompilacji (C::B ma go w osobnej zakładce), włącznie z odpalanymi przez niego komendami.
komentarz 12 kwietnia 2022 przez kubekszklany Gaduła (3,250 p.)

Zauważyłem, że nawet ja pozmieniał wszystkie opcje, to i tak code blocks kompiluje ze starymi argumentami, dopóki nie zmienię czegokolwiek w kodzie źródłowym. Teraz mam takie błędy jak na screenie wyżej. Jak usunę wszystko we funkcji main, zostawię am return 0 to się kompiluje, próba użycia jakiejkolwiek funkcji z SDL generuje te błędy co na screenie.

komentarz 12 kwietnia 2022 przez adrian17 Mentor (354,120 p.)

Na pewno cały czas masz nadmiarowe rzeczy wpisane w ustawieniach projektu, bo w komendzie kompilacji jest:

-L./SDL2/lib

Tego tam na pewno nie powinno być.

Ba, w ogóle nie powinieneś mieć takiego folderu SDL2/lib przecież. Skąd go wziąłeś?

(A swoją drogą, podobnie tych `-static-*`... świadomie włączyłeś linkowanie statyczne?)

komentarz 12 kwietnia 2022 przez kubekszklany Gaduła (3,250 p.)
Dobra, usunąłem wszystko co napisałeś w komentarzu i działa, nie wiem skąd to się tam wzięło, ale jest teraz ok, dzięki za pomoc.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 670 wizyt
pytanie zadane 28 maja 2017 w C i C++ przez trocc Nowicjusz (180 p.)
+1 głos
3 odpowiedzi 530 wizyt
pytanie zadane 16 marca 2016 w C i C++ przez Gandalf Obywatel (1,260 p.)
0 głosów
0 odpowiedzi 208 wizyt
pytanie zadane 18 czerwca 2017 w C i C++ przez shout123131 Nowicjusz (120 p.)

93,432 zapytań

142,428 odpowiedzi

322,661 komentarzy

62,796 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

...