使用allegro 5和g ++编译C ++代码

时间:2011-06-16 19:07:21

标签: c++ g++ allegro allegro5

为了使用allegro 5编译代码,我需要添加到g ++中的标志是什么?我试过了

g++ allegro5test.cpp -o allegro5test `allegro-config --libs`

但这不起作用。我正在使用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`

它还会给出一堆未定义的错误,例如:对'al_install_system'的未定义引用

allegro-config --cflags --libs输出:

-I/usr/local/include
-L/usr/local/lib -lalleg

2 个答案:

答案 0 :(得分:5)

所以你从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;
}

注意编译此应用程序的命令如何引用另一个包含目录和库名称,这与之前版本的allegro不同:

g++ hello.cpp -o hello -I/usr/include/allegro5 -L/usr/lib -lallegro

答案 1 :(得分:3)

Allegro 5使用pkg-config。

pkg-config --libs allegro-5.0 allegro_image-5.0

对于您正在使用的每个库都是如此。