2016-12-29 3 views
0

Я пытаюсь установить allegro 5 в MSVS 2015 в течение 3 часов и вижу много учебников, ни одна из которых не помогла мне. Я использую код в учебной вики, чтобы просто сделать экран.Установка Allegro

#include "windows.h" 
#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; 
} 

Это ошибка, которую я получаю.

1>------ Build started: Project: Project7, Configuration: Debug Win32 ------ 
1> Source.cpp 
1>Source.obj : error LNK2019: unresolved external symbol _al_rest referenced in function _main 
1>Source.obj : error LNK2019: unresolved external symbol _al_map_rgb referenced in function _main 
1>Source.obj : error LNK2019: unresolved external symbol _al_create_display referenced in function _main 
1>Source.obj : error LNK2019: unresolved external symbol _al_destroy_display referenced in function _main 
1>Source.obj : error LNK2019: unresolved external symbol _al_flip_display referenced in function _main 
1>Source.obj : error LNK2019: unresolved external symbol _al_clear_to_color referenced in function _main 
1>Source.obj : error LNK2019: unresolved external symbol _al_install_system referenced in function _main 
1>c:\users\jacob\documents\visual studio 2015\Projects\Project7\Debug\Project7.exe : fatal error LNK1120: 7 unresolved externals 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

Ничего не помогает, спасибо.

+0

Просто скачайте пакеты NuGet, таким образом, все настроено для вас. Ваша единственная задача - открыть конфигурацию проекта, чтобы выбрать, что вы хотите. – rlam12

ответ

1

Неразрешенный внешний символ подразумевает ошибку компоновщика времени компоновщика. Когда вы загрузили Allegro, он пришел с коллекцией ресурсов:

  • включает (.h/.hpp): Эти заголовочные файлы, которые определяют, что существуют функции в библиотеке, но на самом деле не будет содержат сам код функции.

  • библиотеки (.lib): Эти файлы содержат предварительно скомпилированный код и должны быть связаны с вашим проектом.

  • DLLs (.dll): библиотеки DLL не всегда используются, когда у вас есть другие библиотечные ресурсы, однако они поддерживают связь во время выполнения и должны быть распределены с приложением для того, чтобы правильно работать.

Linker Ошибка

Вы, скорее всего, отсутствует ссылку на ваши библиотеки. В Visual Studio вы можете добавить ссылки на библиотеки, щелкнув правой кнопкой мыши на своем проекте в проводнике решений и перейдя в раздел компоновщика. Вам нужно будет добавить путь к папке «lib» в вашей загрузке allegro. Это можно сделать, добавив путь к файлу дополнительных зависимостей библиотеки.

Надеюсь, это поможет!

+0

Нет, у меня есть как библиотека, так и связанные файлы. – user7352230

+0

Одна вещь, о которой я забыл упомянуть, на всякий случай, если вы ее пропустили: вам также нужно назвать файлы библиотек, которые вы хотите связать: Linker/Input/Additional Dependencies. , например. "somelib.lib; someotherlib.lib" – MishMash95

+0

Нужно ли мне делать это для каждого файла allegro lib? – user7352230