Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML 3.0.0] Cannot find -lsfml - graphics

Ostatnio zmodyfikowano 2025-09-22 13:28
Autor Wiadomość
nanoant20
» 2025-09-19 14:47:03
otwórz terminal i wpisz
dpkg -l | grep libsfml

i wklej tutaj na forum wynik tego polecenia





P-183018
wojownik266
Temat założony przez niniejszego użytkownika
» 2025-09-19 15:16:45
dpkg -l ma ponad 2000 linii. Wklejam pierwsze okienko terminala. Drugie polecenie nic nie wyświetla podobnie jak wpisanie tych dwuch poleceń w jednej linii. Co dalej?

Wybór:U=nieznany/I=instalacja/R=usunięcie/P=wyczyszczenie/H=zatrzymanie
| Stan:N=brak/I=zainstalowany/C=skonfigurowany/U=rozpakowany/
|/  F=częśc. skonfigurowany/H=częśc. zainstalowany/W=wyzw. czek./T=wyzw. zapl.
|| Błędy?=(brak)/R-do pon. inst. (duże litery w "Stan" i "Błędy"=problemy)
||/ Nazwa                                      Wersja                          >
+++-==========================================-================================>
ii  7zip                                       23.01+dfsg-11                   >
ii  accountsservice                            23.13.9-2ubuntu6                >
ii  acl                                        2.3.2-1build1.1                 >
ii  adduser                                    3.137ubuntu1                    >
ii  adwaita-icon-theme                         46.0-1                          >
ii  alsa-base                                  1.0.25+dfsg-0ubuntu7            >
ii  alsa-topology-conf                         1.2.5.1-2                       >
ii  alsa-ucm-conf                              1.2.10-1ubuntu5.7               >
ii  alsa-utils                                 1.2.9-1ubuntu5                  >
ii  amd64-microcode                            3.20250311.1ubuntu0.24.04.1     >
ii  anacron                                    2.3-39ubuntu2                   >
ii  apg                                        2.2.3.dfsg.1-5build3            >
ii  app-install-data                           15.10build1                     >
ii  apparmor                                   4.0.1really4.0.1-0ubuntu0.24.04.>
ii  appstream                                  1.0.2-1build6                   >
ii  apt  


P-183019
nanoant20
» 2025-09-19 15:41:38
dpkg -l ma ponad 2000 linii.
że co, nie zrobiłeś tak jak napisałem, po wklejenu komendy
dpkg -l | grep libsfml
 pewnie nic ci nie wyskoczyło

zainstalowałem na VirtualBox tego Linux Mint 22.2 Xfce Edition (linuxmint-22.2-xfce-64bit.iso) i domyślnie można zainstalowć SFML w wersji 2.6 a nie jak sugerujesz 3.0.0

nano@nano-VirtualBox:~$ dpkg -l | grep libsfml
ii  libsfml-audio2.6:amd64                     2.6.1+dfsg-2build2                         amd64        Simple and Fast Multimedia Library - Audio part
ii  libsfml-dev:amd64                          2.6.1+dfsg-2build2                         amd64        Simple and Fast Multimedia Library - Development Files
ii  libsfml-graphics2.6:amd64                  2.6.1+dfsg-2build2                         amd64        Simple and Fast Multimedia Library - Graphics part
ii  libsfml-network2.6:amd64                   2.6.1+dfsg-2build2                         amd64        Simple and Fast Multimedia Library - Network part
ii  libsfml-system2.6:amd64                    2.6.1+dfsg-2build2                         amd64        Simple and Fast Multimedia Library - System part
ii  libsfml-window2.6:amd64                    2.6.1+dfsg-2build2                         amd64        Simple and Fast Multimedia Library - Window part

Proponuje tak:
- uruchom menadżer oprogramowania i zainstaluj sobie Synaptic, jest to graficzny menadżęr pakietów
- uruchom synaptic
- wyszukaj sobie i zainstaluj :
libcsfml-dev i libsfml-dev
wystarczy żebyś zaznaczył te pakiety do instalacji a menadżer sam zaznaczy zależności tzn. pozostałe pakiety
- wyszukaj i zainstaluj: g++-13 clang-15 codeblocks
- Uruchom Code::Blocks svn-r13046 i kliknij na "Create new project" i wybierz "SFML project" wyskoczy okienko "Welcome to the new SFML project wizard!" postępuj za nim aż do utworzenia projektu. Następnie kliknij "Build and run" i "wuala"
P-183020
DejaVu
» 2025-09-19 16:51:02
Qwen3-30B-A3B:
### ✅ **Opcja 1: Użyj `LD_LIBRARY_PATH=.` jeśli biblioteka jest w bieżącym katalogu**  
Jeśli `libsfml-graphics.so.3.0` (i inne `.so.3.0`) są w tym samym katalogu co plik wykonywalny:

```bash
LD_LIBRARY_PATH=. ./sfP1
```

> ⚠️ Upewnij się, że pliki są tam:  
> ```bash
> ls -l libsfml-*.so.3.0
> ```

---

### ✅ **Opcja 2: Użyj `LD_LIBRARY_PATH` wskazującą na katalog z bibliotekami SFML**  
Jeśli biblioteki są w `/home/krzysztof/SFML-3.0.0/lib`:

```bash
LD_LIBRARY_PATH=/home/krzysztof/SFML-3.0.0/lib ./sfP1
```

---

### ✅ **Opcja 3: Skopiuj biblioteki do systemowej lokalizacji (`/usr/lib/x86_64-linux-gnu`)**  
```bash
sudo cp /home/krzysztof/SFML-3.0.0/lib/libsfml-*.so.3.0 /usr/lib/x86_64-linux-gnu/
sudo ldconfig
```

Następnie uruchom:
```bash
./sfP1
```

---

### ✅ **Opcja 4: Zainstaluj przez menedżer pakietów (najlepsze rozwiązanie)**  
Najlepsze, bo nie wymaga ręcznego zarządzania bibliotekami:

```bash
sudo apt update
sudo apt install libsfml-dev
```

Po instalacji program uruchomi się bez dodatkowych ustawień.

---

✅ **Zalecane:** Najlepiej użyć **opcji 4** (`libsfml-dev`) — nawet jeśli starsza wersja jest domyślnie zainstalowana, `apt` zainstaluje najnowszą kompatybilną wersję.
P-183021
wojownik266
Temat założony przez niniejszego użytkownika
» 2025-09-19 17:26:02
Wypróbowałem oba sposoby i oba zadziałały wyśmienicie. A teraz proszę mnie nakierować na to jak zainstalować SFML 3.0.0 pobraną ze strony SFML'a? Jak już pisałem wspomniana wersja się kompiluje ale nie daje się uruchomić. A tak wogóle to czy da się ją zainstalować na tej wersji linuxa (Mint "Wilma") i pod wersję gcc jaka jest zainstalowana domyślnie w systemie? Tak czy tak bardzo dziękuję za poświęcony czas i pomoc. Hej!
P-183022
nanoant20
» 2025-09-19 18:48:02
Jeśli zależy Ci na najnowszym SFML-3.0.2, będziesz musiał samodzielnie ją skompilować, może być to problematyczne.
Złożoność procesu budowania i kompilacji jakiejkolwiek biblioteki w tym SFML na systemie Linux wymaga:
- znajomości podstawowych narzędzi, np. CMake
- terminologii systemu Linux
- zarządzanie zależnościami
- analizy błędów w logach kompilacji, jeżeli coś pójdzie nie tak
- może być konieczne ręczne ustawienie zmiennych środowiskowych
Jeżeli nie masz doświadczenia w kompilacji oprogramowania, zdecydowanie polecam korzystanie z menedżera pakietów, tak jak pisałem wcześnie lub jak to rekomenduje @DejaVu :
**Zalecane:** Najlepiej użyć **opcji 4**
P-183023
wojownik266
Temat założony przez niniejszego użytkownika
» 2025-09-19 18:53:34
Ok. Wszystko jasne. Dziękuję za odpowiedź. Miłego wieczoru!
P-183024
nanoant20
» 2025-09-20 22:47:21
podjąłem challenge. zrobiłem to tak:
Środowisko : VirtualBox
System: Linux Mint 22.2 Xfce Edition (linuxmint-22.2-xfce-64bit.iso)
Z terminal zainstalowałem: g++-13 clang-15 codeblocks poleceniem:
sudo apt install g++-13 clang-15 codeblocks

Pobrałem ze strony https://www.sfml-dev.org/download/sfml/3.0.2/ plik SFML-3.0.2-linux-gcc-64-bit.tar.gz
rozpakowałem go:
tar -xvzf SFML-3.0.2-linux-gcc-64-bit.tar.gz

dostałem katalog SFML-3.0.2 i skopiowałem go do /home/user/
więc ścieżka jest taka  : /home/user/SFML-3.0.2

Następnie trzeba dodać biblioteki do systemu. W terminalu wydaje polecenie:
nano ~/.bashrc

i na końcu dodałem wpis:
export SFML_DIR=/home/user/SFML-3.0.2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SFML_DIR/lib
Zapisuje plik Ctrl+O i wychodzę z edytora "nano" Crtl+X

aktualizuje zmienne środowiskowe poleceniem:
source ~/.bashrc


dodałem jeszcze ścieżki z bibliotekami SFML do systemowego pliku konfiguracyjnego ld.so.conf .
Robi się to poleceniem:
sudo nano /etc/ld.so.conf.d/sfml.conf

wpisałem
/home/user/SFML-3.0.2/lib

Zapisuje plik Ctrl+O i wychodze z edytora "nano" Crtl+X

aktualizuje pamięć podręczną poleceniem:
sudo ldconfig


sprawdzam czy biblioteki są widoczne w systemie poleceniem:
ldconfig -p | grep sfml


wynik powyższego polecenia:
 libsfml-window.so.3.0 (libc6,x86-64) => /home/user/SFML-3.0.2/lib/libsfml-window.so.3.0
 libsfml-system.so.3.0 (libc6,x86-64) => /home/user/SFML-3.0.2/lib/libsfml-system.so.3.0
 libsfml-network.so.3.0 (libc6,x86-64) => /home/user/SFML-3.0.2/lib/libsfml-network.so.3.0
 libsfml-graphics.so.3.0 (libc6,x86-64) => /home/user/SFML-3.0.2/lib/libsfml-graphics.so.3.0
 libsfml-audio.so.3.0 (libc6,x86-64) => /home/user/SFML-3.0.2/lib/libsfml-audio.so.3.0

ok. teraz tworze w katalogu domowym katalgo/folder z plikiem main.cpp
umieszczam listing ze strony https://www.sfml-dev.org/tutorials/3.0/getting-started/linux/

W terminalu wchodzę do katalogu/folderu z plikiem main.cpp i wydaje polecenie:
g++ -o test main.cpp -I/home/user/SFML-3.0.2/include -L/home/user/SFML-3.0.2/lib -lsfml-graphics -lsfml-window -lsfml-system
 wszystko o.k W katalogu pojawia się plik o nazwie "test"
uruchamiam go poleceniem
./test
 pojawi się okienko z zielonym okręgiem

Dobra. teraz idziemy do Code::Blocks
Uruchamiam Code::Blocks klikam na "Create new project" i wybieram "SFML project" . Pojawia się okienko "Welcome to the new SFML project Wizard!" przeklikuje aż do utworzenia projektu. Kod z listingiem umieszczam co poprzednio.
Z menu na górze wybieram "Project -> Build options"
Klikam na zakładkę Search directories
Wybieram zakładkę Compiler i dodaj ścieżkę do folderu include SFML czyli :
/home/user/SFML-3.0.2/include

Wybieram zakładkę "Linker" i dodaje ścieżkę
/home/user/SFML-3.0.2/lib

Teraz przechodzę na zakładkę "Linker settings" i w sekcji "Link libraries" dodaje:
sfml-graphics; sfml-window; sfml-system

Klikam O.K. , następnie buduje i uruchamiam. Koniec.

a-ha. bym zapomniał
w Code::Blocks z górnego menu wybieram:
Settings -> Global veriables...

Pojawia się okienko
Global Veriable Editor

Klikam na "New" , nadaje nazwę "sfml3" i uzupełniam pola

base      : /home/user/SFML-3.0.2
include   : /home/user/SFML-3.0.2/include
lib       : /home/user/SFML-3.0.2/lib





















P-183026
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona