2

最近我想将 Allegro5 库添加到 Visual Studio 2010。我访问了 allegro.cc 并下载了名为:allegro-5.0.4-msvc-10.0 的包(按照名称,我认为它是正确的),提取后,我复制了:

/bin to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
/include to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include
/lib to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib

Allegro's dlls to C:\Windows\System32

I also added "alld.lib" in project -> properties -> linker -> input

当我尝试在我的项目中使用 Allegro 时,我可以包含 Allegro 的标头,但是当我尝试键入以下简单内容时出现错误:

#include <allegro5\allegro.h>

int main()
{
    allegro_init();

    return 0;
}

它会产生一个错误(打字模式下的红色下划线):未定义的标识符“allegro_init”。有人能给我一个提示,这种配置可能有什么问题吗?我会很高兴所有的提示和解决方案。问候,

4

2 回答 2

2

请参阅 wiki 上有关Allegro 5 和 Visual Studio 2010的文档。特别注意不要像您已经完成的那样修改系统文件夹。

无论如何,这里的问题是您正在尝试编写 Allegro 4 代码但您已经安装了 Allegro 5。两者不兼容。Allegro 5 完全针对现代硬件进行了重写和设计。正确的等效程序是:

#include <allegro5/allegro.h>

int main(int argc, const char *argv[])
{
  al_init();
  return 0;
}

此外,从文件名来看,您正在链接 Allegro 4。此处描述了二进制包中包含的库。有许多不同的版本用于调试、静态运行时间等。最直接的等价物alld.liballegro-5.0.4-monolith-md-debug.lib.

你可以在这里找到手册:http ://www.allegro.cc/manual/5/

于 2011-10-03T09:07:17.950 回答
1

好吧,我猜你的大问题是,你实际上并没有告诉链接器如何加载 DLL。

您可以使用LoadLibraryGetProcAddress手动完成。

然而,大多数情况下,当您构建 DLL 时,您会发现您获得了一个库,它可以为您处理上述所有动态链接。结果,您会发现将该库添加到链接器“输入”中要容易得多。

于 2011-10-02T22:58:38.070 回答