SFML-无法加载映像-无法打开文件-LINUX
SFML - failed to load image - unable to open file - LINUX
问题描述
我在ubuntu(clion-ide)上开发我的项目,但我将发行版更改为xubuntu SFML安装正确,因为我用SFML站点的标准程序进行了检查。我在ubuntu上没有那个问题。 我认为文件的权限有问题。所以我创建了一个示例项目(如下所示),添加了player.png,我得到了同样的错误。所以我在终端中使用这个命令: 它不能解决问题。我是linux的新手,所以也许还有更多的事情要做,但我不知道。我也尝试了不同的方式从这个网站和SFML论坛,但这对我没有帮助。 我创建了一些示例代码来查找问题。这只是SFML网站的修改样本。 有趣的是, 解决了问题。默认情况下,sfml希望图像位于Failed to load image "image.png". Reason: Unable to open file
我的尝试
chmod a+w player.png
我也尝试加载其他图像,不起作用。代码
#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");
cmake-build-debug
文件夹中。。。
如何将默认目录添加到我的项目中,而不是添加到cmake文件夹中
您正在寻找一个更改当前工作目录的选项。这可以使用CLion或CMake来完成。
看看这个问题,你可以找到描述这两种方式的答案。
- 找不到Linux Visual Studio代码C++文件
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- 如何在 linux 可执行文件中使用静态库
- Linux 可执行文件通过 dlopen 在emplace_back崩溃打开共享库
- 无法在 Linux 上运行C++ ZMQ 项目的可执行文件
- 如何使用 C/C++ 和 system() 系统调用以外的其他方法在 Linux 中获取文件功能?
- 在字符串中引用 Linux 用户名以打开文件
- Linux 源代码中普通磁盘文件的"轮询"功能在哪里实现?
- 如何在 Linux 中从 .so 文件打开可执行文件?
- 在 Linux 上没有 /proc/self/exe 的 C/C++ 运行时可执行文件的大小?
- 如何在 Linux 下使用 c++ 知道文件是否被其他进程使用?
- 如何用.so文件linux打包所有需要的库
- 在Linux Mint 19下,从哪里提取wxWidgets的源代码(.cpp文件)用于步骤内部调试
- 在 Linux 上,目标文件比在 macOS 或 Windows 上大 2.5 倍
- 不同的数学符号绑定与共享库与 dlopen 并直接链接到可执行文件 (Linux)
- SFML-无法加载映像-无法打开文件-LINUX
- 将文件的内容重定向为可执行文件linux的标准输入
- WMware 编译 cpp 文件 linux
- 将所有库依赖项包含到可执行文件Linux中