Использование удалённой функции SFML
Я начинаю путешествие по просторам C++, и решил зайти с сложного, попутно разбирая проблемы.
Если это важно, использую Windows 11 и компилятор MinGW и такой же генератор для CMake.
Скачал я шаблон с официальной страницы гитхаба:
https://github.com/SFML/cmake-sfml-project/
а когда пытаюсь его скомпилировать (через CMake и Make), выдаёт ошибку на стадии создания самого исполнительного файла (после команды make
)
use of deleted function 'sf::RenderWindow::RenderWindow(const sf::RenderWindow&)'
на строке auto window = sf::RenderWindow{{1920u, 1080u}, "CMake SFML Project"};
#include <SFML/Graphics.hpp>
int main() {
auto window = sf::RenderWindow{{1920u, 1080u}, "CMake SFML Project"};
window.setFramerateLimit(144);
while (window.isOpen()) {
for (auto event = sf::Event{}; window.pollEvent(event);) {
if (event.type == sf::Event::Closed) {
window.close();
}
}
window.clear();
window.display();
}
}
В файлах я ничего не менял, кроме изменения генератора для CMake. Гуглёж проблемы не помог, ибо такое появляется только в чужом коде в котором поди пойми что и что значит, а вот с официальным шаблоном такого ни у кого не было. Прошу помочь разобраться с данным недоразумением.
Лог консоли: https://pastebin.com/kG1wnHSb
Ответы (1 шт):
Пользователь с ником "HolyBlackCat" в действительности был прав, и во всё виновата версия MinGW компилятора, которую я ставил с официального сайта и которая ограничивалась версией 6.3.
Решение: установка MinGW-w64 через MSYS2 https://stackoverflow.com/questions/30069830/how-can-i-install-mingw-w64-and-msys2