我正在尝试在SFML中加载纹理,但是它不起作用。似乎该程序甚至都不知道JPG存在。
sf::Texture table;
if (!table.loadFromFile("pool-table.jpg"))
{
std::cout << "Error!" << std::endl;
return -1;
}
我有这样的错误:
Error!
Failed to load image "
该如何解决?
答案 0 :(得分:0)
路径很可能是问题所在。您可以使用相对路径,也可以使用绝对路径。您当前正在使用相对路径,因此您的文件必须位于程序的当前工作目录中。
为确保路径是问题,您可以使用绝对路径来尝试它,如下所示:
myTexture.loadFromFile("C:/Projects/MyProject/Media/myImage.png")
如果这样工作,您就会知道代码不是问题,而是路径。
如果在测试后仍然存在问题,这是一个不错的技巧,可以节省一天的时间:在加载图像之前,请插入以下代码行:
system("dir");
它将当前工作目录添加到控制台。您的相对路径在键入时应考虑这些信息。
祝你好运!
答案 1 :(得分:0)
感谢您的评论!我将配置从Debug更改为Release,一切终于开始起作用:D