【发布时间】:2015-09-03 03:37:15
【问题描述】:
我有一个非常奇怪的问题,我正在开发 Allegro 游戏,我在终端上编译并在 XCode Code Viewer(它就像一个文本编辑器)上编译代码,一切都很顺利,但是当我加载图像并运行时单击可执行文件给我错误“无法加载图像”,有趣的事实是,当我通过终端(./executablename)打开可执行文件时,它完全按照它应该的方式工作!我真的不明白为什么,有人告诉我错误可能与权限有关,但我对mac不太了解......并且不知道如何解决它。
这是我的代码:
#include <stdio.h>
//puxa a biblioteca allegro
#include <allegro5/allegro.h>
#include <allegro5/allegro_primitives.h>
#include <allegro5/allegro_image.h>
//fixo de tamanho de tela
#define LAR 1280
#define ALT 720
int main(int argc, char *argv[]){
//inicialização da janela
ALLEGRO_DISPLAY *janela = NULL;
ALLEGRO_BITMAP *imagem = NULL;
//inicia allegro, caso erro da a msg
if(!al_init()) {
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
}
al_get_standard_path(ALLEGRO_RESOURCES_PATH);
//cria a janela
janela = al_create_display(LAR, ALT);
if(!janela) {
fprintf(stderr, "failed to create display!\n");
return -1;
}
//inicia primitivos
//al_init_primitives_addon();
//inicia a extenção de imagens
if(!al_init_image_addon()){
fprintf(stderr, "Falha ao carregar image addon");
}
//carrega imagem
imagem = al_load_bitmap("imagem.jpg");
if (!imagem){
fprintf(stderr, "Falha ao carregar imagem!\n");
return -1;
}
//preenche a tela com alguma cor
al_clear_to_color(al_map_rgb(0,0,0));
//desenha imagem
al_draw_bitmap(imagem, LAR/2 - (al_get_bitmap_width(imagem)/2),
ALT/2 - (al_get_bitmap_height(imagem)/2), 0);
//atualiza a tela
al_flip_display();
//pausa a execução
al_rest(10.0);
//destroi imagem
al_destroy_bitmap(imagem);
//destroi variavel janela
al_destroy_display(janela);
return 0;
}
【问题讨论】:
标签: c image macos terminal allegro