微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

构建时发生 LNK2001 错误,但不是通过调试

如何解决构建时发生 LNK2001 错误,但不是通过调试

我已经使用 Allegro 5 编写了一个程序并想在 Visual Studio 19 中构建它,但是当我尝试初始化我正在使用的 allegro 插件时,构建日志指出存在一些 LNK2001 错误

日志:

Backend.obj : error LNK2001: unresolved external symbol __imp__al_init_image_addon
Backend.obj : error LNK2001: unresolved external symbol __imp__al_init_ttf_addon
Backend.obj : error LNK2001: unresolved external symbol __imp__al_init_font_addon
Backend.obj : error LNK2001: unresolved external symbol __imp__al_draw_filled_triangle
Backend.obj : error LNK2001: unresolved external symbol __imp__al_init_primitives_addon
E:\Projects\AllegroProgramm\Release\Allegro.exe : Fatal error LNK1120: 5 unresolved externals

这些是我的包含:

#include "allegro5/allegro.h"
#include "allegro5/allegro_image.h"
#include "allegro5/keyboard.h"
#include "allegro5/keycodes.h"
#include "allegro5/allegro_native_dialog.h"
#include "allegro5/allegro_ttf.h"
#include "allegro5/allegro_font.h"
#include "allegro5/allegro_primitives.h"

这就是我调用 al_init_... 函数的方式:

al_init();
al_install_mouse();
al_install_keyboard();
al_init_image_addon();
al_init_font_addon();
al_init_ttf_addon();
al_init_primitives_addon();

正如我在调试模式下所说的那样,它可以工作,但在发布时不起作用,我不知道为什么!

谢谢

解决方法

在 Visual Studio 中,大多数项目配置对于调试和发布模式是分开的。

您可能在调试模式下添加了 Allegro 库(.lib 文件),但忘记在发布模式下添加。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。