构建时出现LNK2001错误,调试时不会

LNK2001 error occurs when building but not by Debugging

我已经使用 Allegro 5 编写了一个程序并想在 Visual Studio19 中构建它,但是构建日志指出当我尝试初始化我正在使用的 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 文件),但忘记在发布模式下也添加它。