无法在MSVC 2012中构建Allegro 5解决方案

时间:2012-11-21 09:29:29

标签: visual-studio-2012 allegro5

我在使用Windows 7 x64在Visual Studio 2012中构建我的第一个Allegro 5应用程序几个小时了。

我已经按照所有本教程的步骤进行了操作:http://wiki.allegro.cc/index.php?title=Windows,_Visual_Studio_2010_and_Allegro_5#Download这意味着Allegro目录位于c:/ allegro /中,所有库都在调试和发布中添加配置。

我也将子系统更改为Windows,所以现在它说“Windows(/ SUBSYSTEM:WINDOWS)”

1>------ Build started: Project: AllegroTesting, Configuration: Debug Win32 ------
1>main.obj : error LNK2019: unresolved external symbol __imp__al_install_system referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__al_rest referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__al_map_rgb referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__al_create_display referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__al_destroy_display referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__al_flip_display referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__al_clear_to_color referenced in function _main
1>c:\users\skypower\documents\visual studio 2012\Projects\AllegroTesting\Debug\AllegroTesting.exe : fatal error LNK1120: 7 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

2 个答案:

答案 0 :(得分:1)

对于任何想知道的人,在allegro.cc论坛的这个帖子中解决了skypower的问题:Problem installing allegro 5 on vs 2012

归结为在跟随Visual Studio 2010 setup instructions on the relevant Allegro.cc wiki page时指定错误的链接器输入库。确保键入Allegro的实际版本而不是键入5.0.x(即x应替换为次要版本(当前为8),因此请键入5.0.8的版本。

(如果您阅读原始帖子,则会有一些额外的上下文 - 我所指的x以前是维基页面设置说明中的?

答案 1 :(得分:0)

我在这个问题上挣扎了很长时间,脱掉了一半的头发,然后我终于尝试了一些东西。我正在使用Windows 8和VS2012以及Allegro 4.2因为我使用旧版本正确使用它。

  1. 获取4.2二进制的链接=> http://en.sourceforge.jp/projects/sfnet_alleg/downloads/allegro-bin/4.2.0/allegro-msvc6-4.2.0.zip/
  2. 打开包装后,会有4个文件=> bin,include,lib和自述文件。
  3. 将包含和lib文件复制到C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ VC
  4. 启动VS并创建一个Win32项目,当应用程序设置提示时,选中Empty project并单击OK。
  5. 插入源文件并粘贴此代码=>

    #include <allegro.h>
    int main(void) {
        allegro_init();
        set_gfx_mode(GFX_SAFE, 640, 480, 0, 0);
        install_keyboard();
        textout_ex(screen, font, "Hello World!", 1, 1, 10, -1);
        textout_ex(screen, font, "Press ESCape to quit.", 1, 12, 11, -1);
        while(!key[KEY_ESC]);
        allegro_exit();
        return 0;
    }
    END_OF_MAIN()
    
  6. 现在右键单击解决方案资源管理器中的项目 - &gt; properties-&gt; Linker-&gt; Input-&gt; Additional Dependencies。点击它会显示下拉菜单 - >编辑,并在顶部的空白处输入'alleg.lib' - &gt;确定 - >确定。

  7. 现在从解压缩的Allegro 4.2文件夹中复制bin文件夹中的3个dll文件。
  8. 转到保存项目的位置,默认为我的文档 - &gt; visual studio 2012-&gt;项目。进入包含项目名称的文件夹 - &gt; Debug文件夹。在这里,您将找到项目的.exe文件。将dll文件粘贴到此处。
  9. 转到VS2012。按f7编译你的程序,应该没有错误。按ctrl + f5运行。 你得到一个黑色的窗口打招呼,然后按esc退出。而已! :d