2011-10-02 91 views
2

最近我TREID到Allegro5库添加到Visual Studio 2010中,我访问了allegro.cc和下载的软件包叫做:快板-5.0.4-MSVC-10.0(名称之后,我认为这是正确的)和extracxtion后,我复制:Allegro5和MS Visual Studio 2010中

/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的信息,但是当我试图键入喜欢简单的东西它是一个错误:

#include <allegro5\allegro.h> 

int main() 
{ 
    allegro_init(); 

    return 0; 
} 

它产生一个错误(在打字模式下的红色下划线):undefinded identifi呃“allegro_init”。 有人会给我一个提示什么可能是错误的这种配置? 我会很高兴提供所有提示和解决方案。 问候,

+2

你试过编译它吗?它会给出任何错误吗? –

+3

我希望人们会停止将库复制到VS的目录中。如果你想把库放在一个集中的地方,然后创建一个集中的地方,并从Visual Studio引用这些位置。 –

+1

也许[this](http://wiki.allegro.cc/index.php?title=Windows,_Visual_Studio_2010_and_Allegro_5)会有帮助吗? – quasiverse

回答

2

请参阅wiki上的文档Allegro 5 and Visual Studio 2010。尤其要注意的是不要修改系统文件夹,就像你已经完成的那样。

总之,这里的问题是,你正在尝试写快板4码,但你已经安装了快板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/

1

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

你可以做它用LoadLibraryGetProcAddress手动。

然而,大多数的时候你建立一个DLL的时候,你会发现你得到它处理所有上述的动态链接你的库。因此,您会发现将该lib添加到链接器“输入”会更容易。