Allegro 5 Visual studio 2017链接器错误发生

问题描述 投票:0回答:2

我在Visual Studio 2017中启动Allegro 5库时遇到了一些问题。在大多数情况下,我会收到链接器错误(未知/无法识别的外部类型)。我说在大多数情况下,因为这段代码:

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

来源:https://wiki.allegro.cc/index.php?title=Allegro_5_Tutorial/Displays

像往常一样编译没有错误并按预期运行。但是这段代码:

    #include "allegro5/allegro.h"
    #include "allegro5/allegro_image.h"
    #include "allegro5/allegro_primitives.h"

    int main(int argc, char **argv){

       ALLEGRO_DISPLAY       *display = NULL;
       ALLEGRO_DISPLAY_MODE   disp_data;

       al_init(); // I'm not checking the return value for simplicity.
       al_init_image_addon();
       al_init_primitives_addon();

       al_get_display_mode(al_get_num_display_modes() - 1, &disp_data);

       al_set_new_display_flags(ALLEGRO_FULLSCREEN);
       display = al_create_display(disp_data.width, disp_data.height);

       al_rest(3);
       al_destroy_display(display);

       return 0;
    }

来源:同样的,下一个教程。

在链接器中得到3个错误。许多其他代码也会在链接器中出现各种错误。在这个特例中,错误如下: 错误代码说明 LNK2019无法识别的外部符号__imp__al_init_image_addon在函数_main中引用 LNK2019无法识别的外部符号__imp__al_init_primitives_addon在函数_main中引用 LNK1120无法识别的外部类型数:2

我已经读过Allegro在freetype中有一些依赖关系,所以我使用NuGet(项目包管理器)安装它,就像Allegro一样。我是Visual Studio的新手,所以如果你有一个可能的解决方案,请逐步解释(如果你有能力,请解释一下,这样我就可以学到新东西)

如果您需要一些东西来找到解决方案,请询问并解释我如何才能得到它。

非常感谢提前。

visual-studio-2017 linker-errors allegro5
2个回答
1
投票

是的,我只是愚蠢。 对于我造成的所有麻烦,我感到很遗憾。 这是因为我不知道我必须在Allegro 5选项卡下的项目属性中启用模块。现在我已经开始运行了。 我很抱歉打扰你。


1
投票

很高兴你解决了它。对于记录,默认情况下,在Nuget Package for VS中没有链接插件库。在为您的解决方案安装Allegro 5 Nuget软件包后,右键单击项目属性,然后从左侧菜单中选择Allegro5。转到插件库,并启用您正在使用的插件。十分简单。

© www.soinside.com 2019 - 2024. All rights reserved.