Я выполнил шаги по сборке и установке Allegro 5 из их вики (здесь: https://wiki.allegro.cc/index.php?title=Main_Page) и, похоже, удалось без проблем.
allegro был установлен в следующие (как предполагает вики) /usr/local/include и usr/local/lib, и я подтвердил, что allegro там.
Затем я написал следующий код в vim:
#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;
}
Я новичок в использовании Unix и только когда-либо компилировал программы C++ с g++, которые были простыми файлами hello world без каких-либо библиотек.
Поэтому после поиска в Интернете я попробовал следующие команды:
g++ hello.cpp -o hello `pkg-config --libs allegro-5`
в результате получилось следующее:
Undefined symbols for architecture x86_64:
"_main", referenced from:
implicit entry/start for main executable
(maybe you meant: __al_mangled_main)
ld: symbols not found for architecture x86_64
clang: error: linker command failed with exit code 1
Кстати, я использовал доморощенный для установки зависимостей вместо macports
brew install pkg-config brew install zlib и т.д...
Похоже проблема со связью.
Что я делаю неправильно?
$(pkg-config --libs allegro-5)
вместо`pkg-config --libs allegro-5`
- person l'L'l   schedule 04.03.2015pkg-config --libs allegro-5
- person l'L'l   schedule 04.03.2015pkg-config --cflags --libs allegro-5 allegro_main-5
- ЭТО РАБОТАЛО. понятия не имею, почему. - person Smartypants   schedule 04.03.2015allegro_main-5
)?. - person l'L'l   schedule 04.03.2015