Wpis z mikrobloga

Cześć, mógłby ktoś pomóc przy konfiguracji SFML 2.2? Wydaję mi się, że robię wszystko poprawnie, jednak ciągle mam błędy w stylu "undefined reference to..."
W Build options mam wszystko ustawione tak:
http://prntscr.com/64aavc
W compilerze mam wskazany folder SFML/include, a w linkerze SFML/lib.
Dodatkowo w ogólnych opcjach mam zdefiniowane SFML_STATIC. Wie ktoś co jest nie tak? Powinienem przenieść jeszcze jakieś pliki do folderu projektu? Gubię się trochę w tym linkowaniu statycznym i dynamicznym. Jeśli to pomoże to korzystam z Code Blocks 13.12.
#cpp #naukaprogramowania
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@morsisko: To koniecznie musi być linkowanie statyczne?
W ustawieniach linkera powinno być jeszcze -d na końcu bibliotek SFML (w trybie debug) i -s w trybie release.

w której zakładce zdefiniowałeś SFML_STATIC, bo z tego wynika że w opcjach linkera - a powinno być w opcjach kompilatora.

I podaj jakie dokładnie błędy występują
  • Odpowiedz
@psychob: hmm tak jakby błędy do klasy sf:: i poźniej cala masa błędów
@Hirunkan: A nie czasem na odwrót? Bo wydaję mi się, że gdzieś czytałem właśnie odwrotnie. :P SFML_STATIC zdefiniowałem w zakładce nazwy projektu, ale próbowałem też we wszystkich zakładkach na raz.
@EDIT zmieniłem i nic nie dało ;p
  • Odpowiedz
@morsisko: W linkowaniu statycznym w trybie debug biblioteka wygląda tak: sfml-xxxx-s-d
oraz w trybie release sfml-xxxx-s

definicja SFML_STATIC powinna być w zakładce nazwy projektu -> compiler settings -> defines

W main.ccp piszesz # include czy # include?
  • Odpowiedz
@Hirunkan: Nie próbowałem, a jak to zrobić? Mam skopiować jakieś pliki? Czy jeszcze trzeba pozmieniać coś w opcjach? :P Bo z tego co czytałem, to trzeba jakieś .dll dodać do folderu projektu.
  • Odpowiedz
@morsisko: usuń SFML_STATIC, usuń końcówkę -s w opcjach linkera i zostaw same biblioteki sfml-xxx-d (dla debug, w release bez końcówki -d).

Jeśli się skompiluje poprawnie to pojawi się błąd windowsa, że brakuje bibliotek .dll
  • Odpowiedz
@Hirunkan: O rany! Pobierałem w ciemno nie zwracając uwagi na podpisy a teraz widzę takie coś "On Windows, choosing 32 or 64-bit libraries should be based on which platform you want to compile for, not which OS you have."
Przepraszam, że Ci dużo czasu zmarnowałem przez moją głupotę i niedopatrzenie :( I oczywiście dzięki za pomoc. Teraz wyskakuje błąd o braku .dll ale teraz już chyba wystarczy zmienić na statyczne
  • Odpowiedz