首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ALLEGRO5 Visual studio 2017链接器错误发生

ALLEGRO5 Visual studio 2017链接器错误发生
EN

Stack Overflow用户
提问于 2018-02-20 19:55:30
回答 2查看 840关注 0票数 0

在Visual 2017中,我在Allero5库的设置上遇到了一些问题。在大多数情况下,我会得到链接器错误(未知/未识别的外部类型)。我说,在大多数情况下,因为这个代码:

代码语言:javascript
复制
    #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;
    }

来源:Tutorial/Displays

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

代码语言:javascript
复制
    #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;
    }

资料来源:相同,下一篇教程。

给我三个链接器错误。许多其他代码在链接器中也有不同数量的错误。在这种情况下,错误的原因是:

错误码描述

函数LNK2019中未识别的外部符号__imp__al_init_image_addon

函数LNK2019中未识别的外部符号__imp__al_init_primitives_addon

无法识别的外部类型的LNK1120数:2

我读过快板在自由类型中有一些依赖项,所以我使用NuGet(项目包管理器)来安装它,就像快板一样。我是Visual的新手,所以如果你有一个可能的解决方案,请一步一步地解释(如果你有能力,请解释,这样我就能学到一些新的东西)

如果你需要什么东西来找到解决办法,只需问和解释我如何能得到它。

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-02-21 08:40:58

是的,我只是很蠢。

我为我所造成的麻烦感到抱歉。

这是因为我不知道,我必须启用项目属性中的模块,在“快板5”选项卡下。现在我已经开始运作了。

很抱歉打扰你了。

票数 1
EN

Stack Overflow用户

发布于 2019-03-22 15:48:28

很高兴你解决了。为了记录在案,默认情况下,VS的Nuget包中没有链接addon库。安装解决方案的Allero5Nuget包后,右键单击项目属性,然后从左侧的菜单中选择Allegro5。转到addon库,并启用您正在使用的加载项。很简单。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48893211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档