Описание проблемы
Я разрабатывал свой проект на ubuntu (clion ide), но я изменил дистрибутив на xubuntu и клонировал тот же репозиторий к нему.К сожалению, каждое изображение, которое я включаю в проект, генерирует эту ошибку времени выполнения:
Failed to load image "image.png". Reason: Unable to open file
SFML установлен правильно, потому что я проверил его с помощью стандартной программы с SFML Site .У меня не было этой проблемы в Ubuntu.
Моя попытка
Я думаю, что есть проблема с разрешениями файлов.Поэтому я создаю пример проекта (как показано ниже), добавляю player.png и получаю ту же ошибку.Поэтому я использую эту команду в терминале:
chmod a+w player.png
Это не решает проблему.Я новичок в Linux, так что, возможно, есть что-то еще, но я не знаю.Я также пробовал разные способы с этого сайта и форума SFML, но это мне не помогает.
Я также пытался загрузить другие изображения, тоже не работает.
Код
Существует пример кода, который я создал, чтобы найти проблему.Это только модифицированный образец с SFML сайта .
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(400, 400), "SFML works!");
sf::Texture t;
t.loadFromFile("player.png");
sf::Sprite sprite;
sprite.setTexture(t);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(sprite);
window.display();
}
return 0;
}
Решение и еще одна проблема:
Что интересно,
t.loadFromFile("../player.png");
решенопроблема.По умолчанию sfml ожидал, что изображение будет в папке cmake-build-debug
...
Как добавить каталог по умолчанию в мой проект, а не в папку cmake?