Ten dokument zawiera dokładną instrukcję, jak skompilować program Game Deals Viewer z kodu źródłowego C++ na dowolnej dystrybucji Linuxa.
Program wymaga następujących narzędzi i bibliotek:
- g++ - kompilator C++17
- cmake - system budowania (min. wersja 3.16)
- make - narzędzie do kompilacji
- Qt6 Base - framework GUI (Core, Widgets, Network)
- libcurl - biblioteka HTTP/HTTPS
sudo apt update
sudo apt install -y \
build-essential \
cmake \
qt6-base-dev \
libqt6widgets6 \
libqt6network6 \
libcurl4-openssl-devsudo dnf install -y \
gcc-c++ \
cmake \
qt6-qtbase-devel \
libcurl-develsudo pacman -S --needed \
base-devel \
cmake \
qt6-base \
curlsudo zypper install -y \
gcc-c++ \
cmake \
qt6-base-devel \
libcurl-develsudo emerge -av \
dev-qt/qtbase:6 \
dev-qt/qtnetwork:6 \
dev-qt/qtwidgets:6 \
net-misc/curlJeśli masz kod źródłowy w archiwum:
# Rozpakuj archiwum
tar -xzf game-deals-viewer.tar.gz
cd game-deals-viewerLub sklonuj z repozytorium git (jeśli dostępne):
git clone https://github.com/yourusername/game-deals-viewer.git
cd game-deals-viewerUżyj dostarczonego skryptu:
./build.shSkrypt automatycznie:
- ✅ Sprawdzi wszystkie zależności
- ✅ Utworzy katalog
build/ - ✅ Uruchomi CMake
- ✅ Skompiluje program
- ✅ Wyświetli lokalizację pliku wykonywalnego
Jeśli wolisz kontrolować każdy krok:
# 1. Utwórz katalog build
mkdir -p build
cd build
# 2. Konfiguracja CMake
cmake .. -DCMAKE_BUILD_TYPE=Release
# 3. Kompilacja (użyj wszystkich rdzeni CPU)
make -j$(nproc)
# 4. Sprawdź wynik
ls -lh GameDealsViewercmake .. -DCMAKE_BUILD_TYPE=Debug
make -j$(nproc)cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS="-O3 -march=native"
make -j$(nproc)./build/GameDealsViewer./run.shWayland:
QT_QPA_PLATFORM=wayland ./build/GameDealsViewerX11:
QT_QPA_PLATFORM=xcb ./build/GameDealsViewer./install_system.shProgram zostanie zainstalowany w:
/usr/local/bin/GameDealsViewer- plik wykonywalny/usr/share/applications/GameDealsViewer.desktop- skrót w menu
# Instalacja binarium
sudo install -Dm755 build/GameDealsViewer /usr/local/bin/GameDealsViewer
# Instalacja .desktop
sudo install -Dm644 GameDealsViewer.desktop \
/usr/share/applications/GameDealsViewer.desktop
# Aktualizacja bazy aplikacji
sudo update-desktop-database /usr/share/applications/cd build
sudo make installqmake6 --version
# lub
pkg-config --modversion Qt6Coreldd ./build/GameDealsViewerPowinny być widoczne:
libQt6Core.so.6libQt6Widgets.so.6libQt6Network.so.6libcurl.so.4
QT_DEBUG_PLUGINS=1 ./build/GameDealsViewerJeśli chcesz mieć prosty plik .bin:
# Skopiuj i zmień nazwę
cp build/GameDealsViewer GameDealsViewer.bin
chmod +x GameDealsViewer.bin
# Uruchom
./GameDealsViewer.binRozwiązanie: Upewnij się, że masz Qt6, nie Qt5:
# Sprawdź dostępne wersje
apt search qt6-base-dev # Ubuntu/Debian
dnf search qt6 # Fedora
pacman -Ss qt6 # ArchRozwiązanie:
sudo apt install cmake # Ubuntu/Debian
sudo dnf install cmake # Fedora
sudo pacman -S cmake # ArchRozwiązanie: Zainstaluj libcurl development:
sudo apt install libcurl4-openssl-devRozwiązanie 1: Wyczyść build i spróbuj ponownie:
rm -rf build
./build.shRozwiązanie 2: Sprawdź wersję kompilatora:
g++ --version # Wymagane: >= 7.0Diagnoza:
# Sprawdź brakujące biblioteki
ldd ./build/GameDealsViewer | grep "not found"
# Uruchom z verbose logami
QT_DEBUG_PLUGINS=1 QT_LOGGING_RULES="*.debug=true" ./build/GameDealsViewergame-deals-viewer/
├── build/ # Katalog kompilacji
│ ├── GameDealsViewer # ← PLIK WYKONYWALNY
│ ├── CMakeCache.txt
│ └── ...
├── src/ # Kod źródłowy
│ ├── main.cpp
│ ├── mainwindow.h/cpp
│ ├── apimanager.h/cpp
│ └── dealcard.h/cpp
├── CMakeLists.txt # Konfiguracja CMake
├── build.sh # Skrypt kompilacji
├── run.sh # Skrypt uruchomienia
├── install_system.sh # Skrypt instalacji
├── GameDealsViewer.desktop # Desktop entry
└── README.md # Dokumentacja
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/gamedeals
sudo make install
# Program w: /opt/gamedeals/bin/GameDealsViewercmake .. -DQT_QPA_PLATFORM=waylandcmake .. -DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++"Po udanej kompilacji możesz uruchomić program:
./build/GameDealsViewerlub po instalacji systemowej:
GameDealsViewerProgram automatycznie:
✅ Wykryje Wayland/X11
✅ Sprawdzi zależności
✅ Pobierze aktualne oferty ze Steam i Epic Games
Powodzenia! 🚀