C ++ Executable不在文件夹中工作,而是在Mac上的控制台上工作

时间:2017-10-05 09:41:48

标签: c++ gcc allegro allegro5

我在使用Allegro的c ++游戏中遇到了这个奇怪的问题。

游戏中有一部分使用源文件夹中的一些图像。

我通过gcc编译并创建可执行文件main,当我从终端呼叫./main时,它运行良好...游戏加载每个图像并且工作得很好。

但是如果我打开finder,导航并双击相同的main它会崩溃,因为它在从源加载图像时没有成功。 如果我试图从仪器上打开它,也会发生同样的事情。

源代码文件夹结构为:

project: | main //the executable is in the root of the project folder | /src //Where all the cpp and h files are stored | /obj //Where the .o files are stored | item.png //images are also in the root of the project folder

和图像加载功能是Allegro的基本功能

al_load_bitmap("item.png");

1 个答案:

答案 0 :(得分:0)

这是macOS上的预期行为。你需要一个捆绑才能工作。它在官方的macOS常见问题中:

http://liballeg.org/stabledocs/en/build/macosx.html

使用名为fixbundle的工具。