Building SFML from Source Сборка SFML из исходного кода
1. Preparation 1. Подготовка
- Install CMake and MinGW using this step-by-step instruction.
- Download the Source Code from the SFML Website. Скачайте Source Code с сайта SFML.
-
Extract it to a folder (e.g.,
C:/SFML-source). Распакуйте его в папку (например,C:/SFML-source). - Open CMD inside that folder. Откройте CMD внутри этой папки.
2. Configure (CMake) 2. Конфигурация (CMake)
Run this command to generate the build files. We use MinSizeRel for optimized, smaller binaries and set the install path to C:/libs.
Запустите эту команду для генерации файлов сборки. Мы используем MinSizeRel для оптимизированных файлов и устанавливаем путь в C:/libs.
cmake -G "MinGW Makefiles" -S . -B dist -DCMAKE_INSTALL_PREFIX="C:/libs/SFML-2.6.2-mingw" -DCMAKE_BUILD_TYPE=MinSizeRel
3. Build & Install 3. Сборка и установка
Now, compile the source code and install it to the specified prefix: Теперь скомпилируйте исходный код и установите его по указанному пути:
# Compile the library
cmake --build dist
# Install files to C:/libs/SFML-2.6.2-mingw
cmake --install dist
Success!Успех!
You now have a custom-built SFML directory inC:/libs/SFML-2.6.2-mingw. You can point your config.bat to this path in your game projects:
Теперь у вас есть готовая библиотека SFML в C:/libs/SFML-2.6.2-mingw. Вы можете указать этот путь в вашем config.bat для игровых проектов:
-DSFML_DIR=C:/libs/SFML-2.6.2-mingw/lib/cmake/SFML
Common Errors Частые ошибки
| Problem | Solution |
|---|---|
| sh.exe was found in your PATHsh.exe найден в PATH | MinGW cannot build if Git Bash or other shells are in PATH. Remove them temporarily.MinGW не может выполнить сборку, если в PATH есть Git Bash. Удалите его временно. |
| Access Denied (Install)Доступ запрещен (Install) | Run CMD as Administrator to allow installation into C:/libs.Запустите CMD от имени администратора, чтобы разрешить установку в C:/libs. |
Support My Work Поддержать проект
If these tutorials helped you, consider buying me a coffee! Если эти туториалы вам помогли, вы можете поддержать автора.
Sberbank
Direct transfer via phone number Перевод по номеру телефона
Bybit (USDT TRC20)
Support via Cryptocurrency Поддержка криптовалютой