Allegro5 и MS Visual Studio 2010 - PullRequest
       1

Allegro5 и MS Visual Studio 2010

2 голосов
/ 03 октября 2011

Недавно я попытался добавить библиотеку Allegro5 в Visual Studio 2010. Я посетил allegro.cc и скачал пакет под названием: allegro-5.0.4-msvc-10.0 (после названия, я думаю, что он правильный) и после извлечения Я скопировал:

/bin to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
/include to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include
/lib to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib

Allegro's dlls to C:\Windows\System32

I also added "alld.lib" in project -> properties -> linker -> input

И когда я пытался использовать Allegro в своем проекте, я мог включить заголовки Allegro, но это ошибка, когда я пытался напечатать что-то простое, например:

#include <allegro5\allegro.h>

int main()
{
    allegro_init();

    return 0;
}

Генерирует ошибку (красная черта в режиме ввода): неопределенный идентификатор "allegro_init". Кто-нибудь даст мне совет, что может быть не так в этой конфигурации? Я буду очень рад за все советы и решения. Привет,

Ответы [ 2 ]

2 голосов
/ 03 октября 2011

См. Документацию в вики для Allegro 5 и Visual Studio 2010 .Особо обратите внимание на то, что вы не изменили системные папки, как вы уже сделали.

В любом случае, проблема здесь в том, что вы пытаетесь написать код Allegro 4, но вы установили Allegro 5. Оба несовместимы.Allegro 5 полностью переписан и предназначен для современного оборудования.Правильная эквивалентная программа:

#include <allegro5/allegro.h>

int main(int argc, const char *argv[])
{
  al_init();
  return 0;
}

Также вы ссылаетесь на Allegro 4, судя по названию файла.Библиотеки, включенные в бинарный пакет, описаны здесь .Существует множество различных версий для отладки, для статического времени выполнения и т. Д. Наиболее прямой эквивалент для alld.lib - allegro-5.0.4-monolith-md-debug.lib.

. Руководство можно найти здесь: http://www.allegro.cc/manual/5/

1 голос
/ 03 октября 2011

Что ж, я думаю, ваша большая проблема в том, что вы на самом деле не говорите компоновщику, как загружать DLL.

Вы можете сделать это вручную, используя LoadLibrary и GetProcAddress .

Однако в большинстве случаев, когда вы создаете DLL, вы обнаруживаете библиотеку, которая обрабатывает все вышеупомянутые динамические ссылки для вас.В результате вам будет гораздо проще просто добавить эту библиотеку в «входы» компоновщика.

...