【问题标题】:Allegro5 and MS Visual Studio 2010Allegro5 和 MS Visual Studio 2010
【发布时间】:2011-10-02 21:56:23
【问题描述】:

最近我想将 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”。 有人能给我一个提示,这种配置可能有什么问题吗? 我会很高兴所有的提示和解决方案。 问候,

【问题讨论】:

  • 你试过编译吗?它有任何错误吗?
  • 我希望人们停止将库复制到 VS 的目录中。如果你想把库放在一个集中的地方,那么创建一个集中的地方并从 Visual Studio 中引用这些位置。
  • 也许this 会有所帮助?

标签: c++ visual-studio-2010 installation allegro5


【解决方案1】:

请参阅 wiki 上的文档以获取 Allegro 5 and 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。二进制包中包含的库是described here。包含许多不同的版本用于调试、静态运行时间等。alld.lib 最直接的等价物是 allegro-5.0.4-monolith-md-debug.lib

您可以在此处找到手册:http://www.allegro.cc/manual/5/

【讨论】:

    【解决方案2】:

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

    您可以使用 LoadLibraryGetProcAddress 手动完成。

    但是,大多数情况下,当您构建 DLL 时,您会发现您获得了一个库,它可以为您处理上述所有动态链接。因此,您会发现只需将该库添加到链接器“输入”就容易得多。

    【讨论】:

      猜你喜欢
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多