系统相关
首页 > 系统相关> > c – Ubuntu中的Allegro:对“al_install_system”的未定义引用

c – Ubuntu中的Allegro:对“al_install_system”的未定义引用

作者:互联网

我今天尝试安装Allegro库.我在C中有相同的经验,但似乎我没有做过这样的事情.我从源代码编译了Allegro 5.0并将其放在/usr/lib/gcc/i486-linux-gnu/4.4/include/allegro5中.但是当我尝试编译我的代码时,会出现这种情况:

    > g++ test2.cc -o test2
/home/chris/Desktop/c++/test2/.objs/main.o||In function `main':|
main.cpp:(.text+0x22)||undefined reference to `al_install_system'|
main.cpp:(.text+0x3e)||undefined reference to `al_create_display'|
main.cpp:(.text+0x6b)||undefined reference to `al_map_rgb'|
main.cpp:(.text+0x8e)||undefined reference to `al_clear_to_color'|
main.cpp:(.text+0x93)||undefined reference to `al_flip_display'|
main.cpp:(.text+0xa1)||undefined reference to `al_rest'|
main.cpp:(.text+0xa9)||undefined reference to `al_destroy_display'|
||=== Build finished: 7 errors, 0 warnings ===|

我正在使用的代码:

#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-config –libs什么都不返回.我首先将Allegro作为包装,但它也没有用.

解决方法:

您需要链接Allegro库,但您似乎没有这样做.

allegro-config --libs returns nothing.

你问题的一部分.通常,您应该能够将它添加到命令行,如下所示:

g++ `allegro-config --libs` test2.cc -o test2

在我的系统(Ubuntu 10.10)上,它给出了:

$allegro-config --libs
-L/usr/lib -Wl,-Bsymbolic-functions -lalleg-4.2.2

你在调用正确的allegro-config吗?也许你应该指定它的完整路径?

标签:c,g,ubuntu-10-04,allegro5
来源: https://codeday.me/bug/20190929/1831644.html