在 osx 上使用 gcc 编译 allegro5 程序时出错

Error compiling allegro5 program using gcc on osx

我正在尝试在 Mac OSX 10.12 上编译一个简单的 allegro5 程序,但出现未定义的符号错误。这是我在终端运行中的命令

gcc main.c -o hello -I/usr/local/include/ -L/usr/local/lib -lallegro_main

这是我的代码。

#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;
}

这是我得到的错误

Undefined symbols for architecture x86_64:
  "_al_clear_to_color", referenced from:
      __al_mangled_main in main-b86b99.o
  "_al_create_display", referenced from:
      __al_mangled_main in main-b86b99.o
  "_al_destroy_display", referenced from:
      __al_mangled_main in main-b86b99.o
  "_al_flip_display", referenced from:
      __al_mangled_main in main-b86b99.o
  "_al_install_system", referenced from:
      __al_mangled_main in main-b86b99.o
  "_al_map_rgb", referenced from:
      __al_mangled_main in main-b86b99.o
  "_al_rest", referenced from:
      __al_mangled_main in main-b86b99.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

会不会是我没有正确安装allegro?我根据 allegro wiki 说明使用自制软件安装了它。 https://wiki.allegro.cc/index.php?title=Getting_Started#Mac_OS

这些是 link错误。您需要 link 到 lallegro.