【问题标题】:Allegro Installation快板安装
【发布时间】:2016-12-29 02:49:56
【问题描述】:

我已经尝试将 allegro 5 安装到 MSVS 2015 中 3 个小时了,并且看过很多教程,但没有一个对我有帮助。我正在使用教程 wiki 上的代码来制作一个屏幕。

#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 ==========

任何帮助,谢谢。

【问题讨论】:

  • 只需下载 NuGet 包,这样一切都为您配置好了。您唯一的任务是打开项目配置以选择您想要的 allegro。

标签: allegro5


【解决方案1】:

未解析的外部符号意味着编译时链接器错误。当您下载 Allegro 时,它会附带一系列资源:

  • 包含 (.h/.hpp): 这些是定义库中存在哪些函数的头文件,但实际上并不包含函数代码本身。

  • 库 (.lib):这些文件包含预编译的代码,需要链接到您的项目。

  • dll (.dll): 当您有其他库资源时,并不总是使用 DLL,但是它们支持运行时链接并且需要与您的应用程序一起分发,以便它能够运行正常。

链接器错误

您很可能缺少指向您的库的链接。在 Visual Studio 中,您可以通过在 solution explorer 中右键单击您的项目并导航到链接器部分来添加对库的引用。 您需要在 allegro 下载中添加“lib”文件夹的路径。这可以通过将文件路径添加到 additional library dependencies 字段来完成。

希望这会有所帮助!

【讨论】:

  • 不,我已经链接了库和包含文件。
  • 有一件事我忘了提,以防万一您错过了:您还需要将要链接的库文件命名为:链接器/输入/附加依赖项。例如"somelib.lib; someotherlib.lib"
  • 我需要对每个 allegro lib 文件都这样做吗?
  • 您需要为您使用代码的每个 lib 文件执行此操作。如果不知道哪些函数属于哪个库,要么全部添加,要么查看在线文档。
猜你喜欢
  • 2011-07-15
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-01
  • 1970-01-01
  • 2016-09-05
相关资源
最近更新 更多