我尝试为使用 sdl2 制作的 2D 射击游戏创建一个 .desktop 文件。.desktop 文件如下所示
[Desktop Entry]
Version=1.0
Name=The Hunt For Red October
Comment=2D shooting game
Exec=/home/araf/Projects/The_Hunt_For_Red_October/a.out
Icon=/home/araf/Pictures/hunt for red october intro.png
Terminal=false
Type=Application
Categories=Utility;Application;
之后我检查了允许将文件作为程序执行&允许启动。但它没有执行,而是弹出一个黑屏并立即消失。后来我弄清楚了这是因为它a.out
依赖于/home/araf/Projects/The_Hunt_For_Red_October/assets
所有媒体文件所在的文件夹,所以a.out
文件终止了。那么,我如何将该文件夹包含在其中并使其工作?
答案1
我解决了这个问题。在看到另一个问题的答案后,我发现我遗漏了一点,那就是我必须在文件夹所在的文件夹中运行可执行文件/home/araf/Projects/The_Hunt_For_Red_October/assets
。为此,我只需要添加一行
Path=/home/araf/Projects/The_Hunt_For_Red_October/
在 .desktop 文件中指示文件a.out
将运行的文件夹。因为assets
文件夹也在同一个文件夹中,所以现在a.out
可以从文件夹访问媒体文件assets
,并且文件执行时不会出现错误。