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

question-closed SFML błąd przy próbie załączenia biblioteki do projektu

Object Storage Arubacloud
+1 głos
220 wizyt
pytanie zadane 17 kwietnia 2020 w C i C++ przez mario123 Początkujący (350 p.)
zamknięte 18 kwietnia 2020 przez mario123

Siema mam problem  z dołączeniem biblioteki sfml ponieważ przy próbie konpilacji wyskakuje błąd:

||=== Build: Debug in nauka_sfml (compiler: GNU GCC Compiler) ===|
obj\Debug\nauka.o||In function `_tcf_0':|
C:\Users\RAMZES\Desktop\programowanie\sfml\nauka_sfml\nauka.cpp|3|undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
obj\Debug\nauka.o||In function `_static_initialization_and_destruction_0':|
C:\Users\RAMZES\Desktop\programowanie\sfml\nauka_sfml\nauka.cpp|3|undefined reference to `_imp___ZN2sf12RenderWindowC1Ev'|
||error: ld returned 1 exit status|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
ma ktoś pomysł o co chodzi?

 

komentarz zamknięcia: rozwiązane
komentarz 18 kwietnia 2020 przez Patrycjerz Mędrzec (192,320 p.)

Nadal nie podałeś szczegółowych informacji na temat kompilatora i paczki z biblioteką.

Jeśli instalowałeś kompilator razem z Code::Blocks, to znajdź w katalogu tego IDE folder MinGW\bin i wpisz komendę w terminalu

<ścieżka do katalogu bin>\g++.exe --version

Co do paczki, miałem na myśli konkretną nazwę pliku.

komentarz 18 kwietnia 2020 przez mario123 Początkujący (350 p.)
Jako iż jestem troszkę przygłupi proszę o mówienie mi co mam sprawdzać krok po kroku.

wszedłem do folderu MINGW\bin i widzę wiele plików z rozszerzeniem *.exe, co mam dalej zrobić :D (Czuję się trochę głupio że nie rozumiem o czym do mnie mówicie xD)
komentarz 18 kwietnia 2020 przez Patrycjerz Mędrzec (192,320 p.)

Wejdź do terminala (w Windows nazywa się on Wiersz polecenia, jeśli masz Windows 10, to wpisz tę nazwę w wyszukiwarce w pasku zadań). Następnie przejdź do katalogu z kompilatorem:

cd "C:\Program Files\<reszta ścieżki do bin>"

Gdy już jesteś w odpowiednim folderze, wykonaj następującą komendę:

g++.exe --version

Podziel się jej rezultatem. Napisz także, jaką konkretnie paczkę z SFML pobrałeś z sieci, tzn. nazwę paczki, link do niej itp.

komentarz 18 kwietnia 2020 przez mario123 Początkujący (350 p.)
Czy miałem uzyskać taki rezultat?

g++.exe (tdm-1) 5.1.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
komentarz 18 kwietnia 2020 przez mario123 Początkujący (350 p.)
Visual C++ 15 (2017) - 64-bit

https://www.sfml-dev.org/download/sfml/2.5.1/

1 odpowiedź

0 głosów
odpowiedź 18 kwietnia 2020 przez Patrycjerz Mędrzec (192,320 p.)

Wybrałeś złą paczkę z biblioteką. Wersja Visual C++ 15 (2017) - 64-bit jest przystosowana pod środowisko Visual Studio od Microsoftu. Dla Code::Blocks odpowiednią będzie GCC 5.1.0 TDM (SJLJ) - Code::Blocks - 32-bit.

Niestety, aby użyć wersji 64-bitowej, wymagana jest zmiana kompilatora (ten domyślny w Code::Blocks dla Windows jest 32-bitowy) oraz pewnie własnoręczne przekompilowanie kodu SFML. Oczywiście wersja 32-bitowa jest w pełni wystarczająca w większości zastosowań i może być używana w środowisku 64-bitowym.

komentarz 18 kwietnia 2020 przez mario123 Początkujący (350 p.)
okej, podczas próby kompilacji nie pokazuje już w okienku błędu lecz tym razem wyskakuje okienko systemowe informujące że:

"nie można kontynuować wykonywania kodu, ponieważ nie znaleziono obiektu sfml-graphics-2.dll. Ponowne zainstalowanie programu może rozwiązać ren problem."

Pobrałem sfml ponownie jeszcze 2 razy i dalej wyskakuje owe ostrzeżenie.

ma ktoś jeszcze jakieś pomysły? :D
komentarz 18 kwietnia 2020 przez Patrycjerz Mędrzec (192,320 p.)

Skopiuj poszczególne biblioteki dynamiczne (obowiązkowe są sfml-graphics-2.dll, sfml-window-2.dll i sfml-system-2.dll) z katalogu bin paczki do katalogu twojego projektu. Aby później uruchomić twój program poza IDE, wymagane będzie umiejscowienie tych plików DLL w katalogu z plikiem EXE – jeśli budujesz kod w wersji release (do wydania), to wygenerowane pliki znajdziesz w folderze Release, jeśli w wersji debug, to w folderze Debug. Tam także powinieneś skopiować te biblioteki.

komentarz 18 kwietnia 2020 przez mario123 Początkujący (350 p.)
okej dzięki, problem rozwiązany zamykam post :D

Podobne pytania

0 głosów
0 odpowiedzi 189 wizyt
pytanie zadane 9 stycznia 2022 w C# przez Byczek_PL Nowicjusz (200 p.)
0 głosów
1 odpowiedź 116 wizyt
0 głosów
1 odpowiedź 324 wizyt

92,579 zapytań

141,429 odpowiedzi

319,657 komentarzy

61,962 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!

...