Joh*_*mac 3 c++ g++ allegro allegro5
为了使用allegro 5编译代码,我需要添加到g ++中的标志是什么?我试过了
g++ allegro5test.cpp -o allegro5test `allegro-config --libs`
Run Code Online (Sandbox Code Playgroud)
但那不起作用.我正在使用ubuntu 11.04.我使用http://wiki.allegro.cc/index.php?title=Install_Allegro5_From_SVN/Linux/Debian上的说明安装了allegro 5
我试过了:
g++ allegro5test.cpp -o allegro5test `allegro-config --cflags --libs`
Run Code Online (Sandbox Code Playgroud)
它还提供了一堆未定义的错误,例如:对"al_install_system"的未定义引用
allegro-config --cflags --libs 输出:
-I/usr/local/include
-L/usr/local/lib -lalleg
Run Code Online (Sandbox Code Playgroud)
所以你从SVN 成功地在你的系统上安装了allegro5.你应该知道的一件事是这个构建没有allegro-config.如果您的系统上有它,则意味着您之前已经安装了allegro4.
allegro5带来了许多变化,包括不同的初始化程序,库和函数名称.
这是新版本的hello world应用程序:
#include <stdio.h>
#include <allegro5/allegro.h>
int main(int argc, char **argv)
{
ALLEGRO_DISPLAY *display = NULL;
if(!al_init()) {
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
}
display = al_create_display(640, 480);
if(!display) {
fprintf(stderr, "failed to create display!\n");
return -1;
}
al_clear_to_color(al_map_rgb(0,0,0));
al_flip_display();
al_rest(10.0);
al_destroy_display(display);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
请注意编译此应用程序的命令如何引用另一个包含目录和库名称,这些名称与之前版本的allegro不同:
g++ hello.cpp -o hello -I/usr/include/allegro5 -L/usr/lib -lallegro
Run Code Online (Sandbox Code Playgroud)