C++ C++;Allegro 5.0.8-al_load_bitmap()在Linux上返回NULL
我正在用Allegro 5.0.8开发一个游戏,一切都很顺利,直到我尝试编译它并在Linux(Mint 14)上运行它…所以我做了sime测试C++ C++;Allegro 5.0.8-al_load_bitmap()在Linux上返回NULL,c++,linux,allegro,C++,Linux,Allegro,我正在用Allegro 5.0.8开发一个游戏,一切都很顺利,直到我尝试编译它并在Linux(Mint 14)上运行它…所以我做了sime测试 #include <allegro5/allegro.h> #include <allegro5/allegro_image.h> #include <iostream> int main(void) { al_init(); ALLEGRO_DISPLAY *screen = al_create_d
#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
#include <iostream>
int main(void)
{
al_init();
ALLEGRO_DISPLAY *screen = al_create_display(800, 600);
al_init_image_addon();
ALLEGRO_PATH *path = al_get_standard_path(ALLEGRO_RESOURCES_PATH);
al_set_path_filename(path, "players.png");
ALLEGRO_BITMAP *img = al_load_bitmap(al_path_cstr(path, '/'));
if (img == NULL)
std::cout << al_path_cstr(path, '/') << std::endl;
al_draw_bitmap(img, 0, 0, 0);
al_flip_display();
while (true){}
return 0;
}
返回NULL。另一方面,这条线
std::cout << al_path_cstr(path, '/') << std::endl;
std::cout
我有libpng12-0…但没有libpng12-dev…我也应该安装吗
安装libpng12 dev后,需要重建Allegro。cmake的输出告诉您是否支持PNG
使用PNG支持重建Allegro后,如果您的PNG文件不太大,无法加载到视频卡上,它就会正常工作。PNG文件通过外部库支持,您是否安装了例如libpng
之类的程序?我有libpng12-0..但没有libpng12-dev..我也应该安装吗?是的,您可能也需要它,也可以链接到libpng
(即-lpng
)。我尝试了,但它仍然返回NULL…另一方面,我尝试了bmp,它工作了…那么,我做错了什么。。。要编译,我使用:g++*.cpp-o test-lpng12pkg config--libs allegro-5.0 allegro_image-5.0
…我也尝试过-libpngyu应该检查您得到的错误,使用或使用。
std::cout << al_path_cstr(path, '/') << std::endl;