【问题标题】:LNK2001 error occurs when building but not by Debugging构建时发生 LNK2001 错误,但不是通过调试
【发布时间】:2021-09-25 04:09:19
【问题描述】:

我使用 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();

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

谢谢

【问题讨论】:

  • 在VS中打开项目属性有配置组合框。只需为两种配置设置链接器->附加依赖项。

标签: c++ debugging allegro5 lnk2001


【解决方案1】:

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

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

【讨论】:

  • 你是救世主!我一直专注于我的代码,我也忘了在发布时启用它!谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 2014-12-21
  • 1970-01-01
  • 1970-01-01
  • 2010-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多