cannot find -lsfml-graphics-d

0

Dzień dobry.

Postanowiłem napisać program w c++ z użyciem biblioteki SFML. Używam środowiska Code::Blocks. Gdy utworzyłem projekt SFML, wybrałem odpowiednią ścieżkę do pobranej biblioteki, i spróbowałem skompilować przykładowy program który wstawił mi C::B, wyskoczyło mi kilka błędów. Przeszukałem internet i nie znalazłem niczego co rozwiązałoby mój problem.

screenshot-20201001173922.png
screenshot-20201001174127.png
screenshot-20201001174203.png

1

Podałeś jakie biblioteki projekt ma linkować, ale linker wciąż nie zna ich lokalizacji. Czy masz zainstalowanego SFMLa w systemie? Jeśli tak, musisz określić w projekcie, gdzie leżą biblioteki (link directory) i pliki nagłówkowe (include/header directory).

0

SFML-a pobrałem i rozpakowałem do C:\SFML-2.5.1. Podczas tworzenia projektu C::B zapytał mnie o lokalizację biblioteki, dodatkowo podpowiedział że w tym folderze powinny się znajdować foldery include oraz lib, więc podałem C:\SFML-2.5.1. Nic nie zmieniałem, projekt został taki jaki C::B wygenerował. Mógłbyś wytłumaczyć jak to zrobić? Pierwszy raz używam zewnętrznych bibliotek oraz SFML-a.

1

Nie znam Code::Blocks ani SFMLa, ale wszędzie to wygląda podobnie. Jeśli w opcjach linkera podałeś katalog, gdzie ma szukać, to powinno działać. Widzę tam zakładkę "Search directories" - tam powinno się chyba podać katalog z bibliotekami. Zapewne w C:\SFML-2.5.1 są jeszcze podkatalogi, z bibliotekami, nagłówkami, itp. upewnij się, że podałeś w opcjach projektu dokładną lokalizację gdzie są biblioteki (czyli np.: C:\SFML-2.5.1\lib) a nie ogólnie C:\SFML-2.5.1.

0

W Search directories -> Compiler jest wpisane C:\SFML-2.5.1\include, a w Search directories -> Linker C:\SFML-2.5.1\lib, więc ścieżki są podane. Sprawdzałem to również z poradnikiem na YouTube, i wszystko jest teoretycznie dobrze. Problem jest dziwny i borykam się z nim już długo. Zdecydowałem się na posta bo nie wiedziałem co jest nie tak.

0

Wrzucałeś biblioteki dll do folderu z projektem?

0

Nie...

0

Wrzuciłem ale nic to nie dało

0

Spróbuj zamienić wpisy
sfml-graphics-d na C:\SFML-2.5.1\lib\libsfml-graphics-d.a
sfml-window-d na C:\SFML-2.5.1\lib\libsfml-window-d.a
sfml-system-d na C:\SFML-2.5.1\lib\libsfml-system-d.a

0

Błąd nadal się pojawia. Próbowałem też wrzucić pliki z rozszerzeniem .a do folderu projektu ale również bez efektu

0

Błędy zniknęły, źle za pierwszym razem przepisałem, ale pojawiło się mnóstwo błędów "undefined reference to". Nawet po wrzuceniu dllów

0
Kamil B napisał(a):

Błąd nadal się pojawia. Próbowałem też wrzucić pliki z rozszerzeniem .a do folderu projektu ale również bez efektu

Jakie '.a' jak to jest Windows? To będą pliki '.lib'.

0

Hmm... w katalogu lib są tylko pliki .a. Nie jestem jeszcze zaawansowanym programistą. Dopiero się uczę. To pierwszy raz gdy spotykam się używaniem bibliotek takich jak SFML

0

Z tego co pamiętam, to pobrałem najnowszą wersję 32 bitową (tylko taka była) pod C::B. Teraz ją zaktualizowałem, nic się nie zmieniło. Kojarzę że 32 bit działa na 64 bit.

0
Kamil B napisał(a):

Z tego co pamiętam, to pobrałem najnowszą wersję 32 bitową (tylko taka była) pod C::B. Teraz ją zaktualizowałem, nic się nie zmieniło. Kojarzę że 32 bit działa na 64 bit.

Ale pobrałeś wersję dla Windowsa czy Linuxa?

0

Pod Windowsa, przynajmniej tak mi się wydaje, bo obok tabelki z której pobrałem jest wyznaczona strefa pobrań dla Linuxa.

1

Używałem SFML w visual studio, ale korzystałem z tej strony klik. Sporo też pomagają tutoriale na youtube, ale nie chcę żadnego linkować, bo nie pracowałem w code blocks. Zrób tak jak w linku od samego początku, wszystko powinno śmigać

0

Niestety po wykonaniu wszystkich kroków w poradniku (sprawdzałem kilka razy) sytuacja się nie zmieniła. Spróbuję jeszcze dla VS, ale na C::B nie działa. Najpierw pojawiły się błędy "cannot find", a po zmianie o jakiej napisał mi GutekSan (zamienienie sfml-graphics-d na pełną ścieżkę) pojawiło się mnóstwo "undefined reference to". Według poradnika mam wykonać jeszcze raz to samo, ale dalej błędy się pojawiają. Nie wiem co jest grane z tą biblioteką.

1 użytkowników online, w tym zalogowanych: 0, gości: 1