- Wymagania
- Szybki Start
- Instalacja Manualna
- Kompilacja
- Uruchamianie
- Rozwiązywanie Problemów
- CMake Presets
- Packaging
-
Windows 10/11 (64-bit)
-
Visual Studio 2019 (dowolna edycja)
- Download: https://visualstudio.microsoft.com/vs/older-downloads/
- Wymagane komponenty:
- ✅ Desktop development with C++
- ✅ CMake tools for Windows
- ✅ Windows 10 SDK
-
CMake 3.16+
- Download: https://cmake.org/download/
- Dodaj do PATH podczas instalacji
-
Git
- Download: https://git-scm.com/download/win
- Dla vcpkg
- vcpkg (zalecane - zarządzanie zależnościami)
- Automatycznie instalowane przez
setup_windows.ps1
- Automatycznie instalowane przez
Otwórz PowerShell jako Administrator i uruchom:
# Sklonuj repozytorium
git clone https://github.com/Co0ob1iee/QR_Generator.git
cd QR_Generator
# Uruchom skrypt setup
.\setup_windows.ps1Skrypt automatycznie:
- ✅ Sprawdza wymagania
- ✅ Instaluje vcpkg
- ✅ Pobiera zależności (Qt6, OpenCV, libqrencode)
- ✅ Konfiguruje CMake
- ✅ Kompiluje projekt
Czas: ~45-60 minut (pierwsze uruchomienie)
Jeśli wolisz pełną kontrolę:
# Sklonuj vcpkg
cd $env:USERPROFILE
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
# Bootstrap
.\bootstrap-vcpkg.bat
# Dodaj do zmiennych środowiskowych
[Environment]::SetEnvironmentVariable("VCPKG_ROOT", "$env:USERPROFILE\vcpkg", "User")
$env:VCPKG_ROOT = "$env:USERPROFILE\vcpkg"cd $env:VCPKG_ROOT
# Qt6 Base (Core, Widgets, Gui)
.\vcpkg install qtbase:x64-windows
# Qt6 Tools (Linguist dla i18n)
.\vcpkg install qt6-tools:x64-windows
# OpenCV (tylko wymagane moduły)
.\vcpkg install opencv4[core,imgproc,imgcodecs,objdetect,videoio]:x64-windows
# libqrencode
.\vcpkg install libqrencode:x64-windowsUwaga: Instalacja Qt6 i OpenCV może zająć 30-45 minut!
cd QR_Generator
mkdir build\windows-debug
cd build\windows-debug
cmake ../.. `
-G "Visual Studio 16 2019" `
-A x64 `
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" `
-DBUILD_TESTS=ON `
-DENABLE_I18N=ON-
Otwórz solution:
build\windows-debug\QRGenerator.sln -
Wybierz konfigurację:
- Górny pasek:
DebuglubRelease - Architektura:
x64
- Górny pasek:
-
Build:
- Menu:
Build→Build Solution(Ctrl+Shift+B) - Lub kliknij prawym na projekt →
Build
- Menu:
-
Uruchom:
- Menu:
Debug→Start Debugging(F5) - Lub:
Debug→Start Without Debugging(Ctrl+F5)
- Menu:
-
Otwórz folder:
- Menu:
File→Open→Folder... - Wybierz katalog
QR_Generator
- Menu:
-
CMake automatycznie:
- Wykryje
CMakeLists.txt - Załaduje
CMakePresets.json - Skonfiguruje projekt
- Wykryje
-
Wybierz preset:
- Górny pasek: wybierz
windows-debuglubwindows-release
- Górny pasek: wybierz
-
Build:
- Menu:
Build→Build All
- Menu:
# Debug
cd build\windows-debug
cmake --build . --config Debug --parallel
# Release
cd build\windows-release
cmake --build . --config Release --parallel
# Tylko testy
cmake --build . --config Debug --target test_validation
cmake --build . --config Debug --target test_encryption# Debug
.\build\windows-debug\Debug\qr-generator.exe
# Release
.\build\windows-release\Release\qr-generator.exe# Wszystkie testy
cd build\windows-debug
ctest -C Debug --output-on-failure
# Poszczególne testy
.\Debug\test_validation.exe
.\Debug\test_encryption.exe
# Z verbose output
.\Debug\test_validation.exe -v2# Włącz debug logs
$env:QT_LOGGING_RULES = "qrgenerator.*.debug=true"
.\build\windows-debug\Debug\qr-generator.exe
# Tylko kamera i WiFi
$env:QT_LOGGING_RULES = "qrgenerator.camera.debug=true;qrgenerator.wifi.debug=true"
.\build\windows-debug\Debug\qr-generator.exeBłąd:
Could NOT find Qt6 (missing: Qt6_DIR)
Rozwiązanie:
# Sprawdź czy Qt6 jest zainstalowany przez vcpkg
$env:VCPKG_ROOT\vcpkg list | Select-String qt
# Jeśli nie - zainstaluj
$env:VCPKG_ROOT\vcpkg install qtbase:x64-windows
# Upewnij się, że używasz toolchain file
cmake ... -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"Błąd:
Could NOT find OpenCV
Rozwiązanie:
# Zainstaluj OpenCV przez vcpkg
$env:VCPKG_ROOT\vcpkg install opencv4[core,imgproc,imgcodecs,objdetect,videoio]:x64-windows
# Sprawdź instalację
$env:VCPKG_ROOT\vcpkg list | Select-String opencvBłąd:
Package 'libqrencode' not found
Rozwiązanie:
# Zainstaluj libqrencode
$env:VCPKG_ROOT\vcpkg install libqrencode:x64-windowsBłąd:
CMake Error: VCPKG_ROOT is not set
Rozwiązanie:
# Ustaw zmienną środowiskową
[Environment]::SetEnvironmentVariable("VCPKG_ROOT", "C:\path\to\vcpkg", "User")
# Dla bieżącej sesji
$env:VCPKG_ROOT = "C:\path\to\vcpkg"Błąd:
MSBUILD : error MSB1009: Project file does not exist
Rozwiązanie:
- Usuń folder
build - Uruchom CMake ponownie
- Sprawdź czy Visual Studio 2019 jest zainstalowany
Błąd:
The code execution cannot proceed because Qt6Core.dll was not found
Rozwiązanie A - Dodaj vcpkg do PATH:
$env:PATH += ";$env:VCPKG_ROOT\installed\x64-windows\bin"Rozwiązanie B - Skopiuj DLL-e:
# Skopiuj Qt DLLs do katalogu z .exe
xcopy "$env:VCPKG_ROOT\installed\x64-windows\bin\*.dll" "build\windows-debug\Debug\" /Y
# Lub dla Release
xcopy "$env:VCPKG_ROOT\installed\x64-windows\bin\*.dll" "build\windows-release\Release\" /YRozwiązanie C - Deployment (zalecane dla dystrybucji):
# Użyj windeployqt
$env:VCPKG_ROOT\installed\x64-windows\tools\qt6\bin\windeployqt.exe `
build\windows-release\Release\qr-generator.exeProjekt zawiera CMakePresets.json dla łatwej konfiguracji.
- windows-debug - Debug build z testami
- windows-release - Release build z testami
- windows-release-no-tests - Release bez testów
# Konfiguracja
cmake --preset windows-debug
# Build
cmake --build --preset windows-debug
# Testy
ctest --preset windows-debug- Otwórz folder projektu
- Wybierz preset z rozwijanej listy
- Visual Studio automatycznie skonfiguruje projekt
-
Zainstaluj NSIS:
- Download: https://nsis.sourceforge.io/Download
-
Skonfiguruj CPack:
cd build\windows-release cmake --build . --config Release cpack -C Release
-
Installer powstanie:
build\windows-release\QRGenerator-1.0.0-win64.exe
# Build Release
cmake --build build\windows-release --config Release
# Deploy Qt
$env:VCPKG_ROOT\installed\x64-windows\tools\qt6\bin\windeployqt.exe `
build\windows-release\Release\qr-generator.exe `
--release --no-compiler-runtime
# Stwórz ZIP
Compress-Archive -Path "build\windows-release\Release\*" `
-DestinationPath "QRGenerator-1.0.0-portable.zip"Dla dystrybucji publicznej zalecane jest podpisanie .exe:
# Z certyfikatem .pfx
signtool sign /f "certificate.pfx" /p "password" /t "http://timestamp.digicert.com" `
"build\windows-release\Release\qr-generator.exe"QR_Generator/
├── build/
│ ├── windows-debug/
│ │ ├── Debug/
│ │ │ ├── qr-generator.exe # Aplikacja główna
│ │ │ ├── test_validation.exe # Testy
│ │ │ └── test_encryption.exe
│ │ └── QRGenerator.sln # Visual Studio Solution
│ └── windows-release/
│ └── Release/
│ └── qr-generator.exe
├── CMakePresets.json # Presety CMake
├── vcpkg.json # Manifest zależności
└── setup_windows.ps1 # Skrypt setup
Alternatywnie możesz użyć VS Code:
-
Instalacja rozszerzeń:
- CMake Tools
- C/C++ Extension Pack
- CMake Language Support
-
Otwórz folder:
- File → Open Folder → wybierz QR_Generator
-
Konfiguracja:
- CMake Tools automatycznie wykryje presety
- Wybierz kit:
Visual Studio Community 2019 - amd64 - Wybierz preset:
windows-debug
-
Build:
- Ctrl+Shift+P → "CMake: Build"
- Lub kliknij "Build" w dolnym pasku
Dostępne opcje podczas konfiguracji:
cmake .. `
-DBUILD_TESTS=ON # Włącz testy (domyślnie: ON)
-DENABLE_I18N=ON # Włącz tłumaczenia (domyślnie: ON)
-DCMAKE_BUILD_TYPE=Debug # Debug lub Release
-DCMAKE_INSTALL_PREFIX=C:\QRGenerator # Katalog instalacjiPrzykład GitHub Actions:
# .github/workflows/windows.yml
name: Windows Build
on: [push, pull_request]
jobs:
build:
runs-on: windows-2019
steps:
- uses: actions/checkout@v3
- name: Setup vcpkg
run: |
git clone https://github.com/Microsoft/vcpkg.git C:\vcpkg
C:\vcpkg\bootstrap-vcpkg.bat
echo "VCPKG_ROOT=C:\vcpkg" >> $env:GITHUB_ENV
- name: Cache vcpkg packages
uses: actions/cache@v3
with:
path: C:\vcpkg\installed
key: vcpkg-${{ runner.os }}-${{ hashFiles('vcpkg.json') }}
- name: Install dependencies
run: |
C:\vcpkg\vcpkg install qtbase:x64-windows
C:\vcpkg\vcpkg install opencv4:x64-windows
C:\vcpkg\vcpkg install libqrencode:x64-windows
- name: Configure CMake
run: |
cmake -B build -G "Visual Studio 16 2019" -A x64 `
-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake
- name: Build
run: cmake --build build --config Release
- name: Test
run: cd build && ctest -C Release --output-on-failure- CMake: https://cmake.org/documentation/
- vcpkg: https://vcpkg.io/en/getting-started.html
- Qt6: https://doc.qt.io/qt-6/
- Visual Studio: https://docs.microsoft.com/en-us/visualstudio/
- Issues: https://github.com/Co0ob1iee/QR_Generator/issues
- Discussions: https://github.com/Co0ob1iee/QR_Generator/discussions
| Aspekt | Linux | Windows |
|---|---|---|
| Package Manager | apt/pacman | vcpkg |
| Separator ścieżek | / |
\ |
| Exe extension | brak | .exe |
| DLLs | Shared libs | Wymagane w PATH |
| CMake Generator | Unix Makefiles | Visual Studio |
- Debug: ~5-10 minut (po zainstalowaniu zależności)
- Release: ~10-15 minut (optymalizacja)
- Pierwsze vcpkg: ~45-60 minut (Qt + OpenCV)
- Zależności (vcpkg): ~2-3 GB
- Build artifacts: ~500 MB (Debug), ~100 MB (Release)
- Portable package: ~50-80 MB (z DLLs)
Przed pierwszym uruchomieniem sprawdź:
- Visual Studio 2019 zainstalowane
- CMake 3.16+ zainstalowane i w PATH
- Git zainstalowany
- vcpkg skonfigurowany ($env:VCPKG_ROOT)
- Zależności zainstalowane (Qt6, OpenCV, libqrencode)
- Projekt skonfigurowany przez CMake
- Build zakończony bez błędów
- Testy przechodzą (ctest)
- Aplikacja uruchamia się
Powodzenia z kompilacją! 🎉
Jeśli napotkasz problemy, sprawdź sekcję Rozwiązywanie Problemów lub utwórz Issue.
Dokument utworzony: 2025-11-18 Wersja: 1.0 Dla Visual Studio 2019 / Windows 10/11