Allegro 5 - MinGW + Geany

时间:2012-09-28 19:29:06

标签: mingw allegro geany

我正在尝试将Allegro设置为与Windows中的Geany中的MinGW一起使用。但我一直遇到错误(我假设链接器错误)。这是我到目前为止所做的:

  • 我已经安装了Geany和MinGW。

  • 我从http://www.allegro.cc/files/

  • 下载了Allegro 5
  • 我在Windows二进制文件

  • 下选择了Allegro MinGW 4.6.2 zip
  • 我解压缩了文件(allegro-5.0.7-mingw-4.6.2)

它包含3个文件夹; lib,bin和include。

然后我将文件夹复制到我的MinGW安装中。更具体地说,我将来自Allegro的lib,bin和include文件夹与我的MinGW安装中的lib,bin和include合并。

之后我在Geany中设置我的构建命令,如下所示:

编译: g++ -O0 -g3 -Wall -c -o"%e.o" "%f"

生成: g++ -o"%e" ./%e.o -Lalleg

执行: "./%e"

当我尝试构建我的项目时,我得到了一堆未定义的引用错误。任何帮助都会很棒!

1 个答案:

答案 0 :(得分:3)

  1. 您应该使用-l参数而不是-L参数来链接静态库。 -L参数用于输入编译器应查找的其他库路径。

  2. 如您所见,“allegro-5.0.7-mingw-4.6.2”文件夹中没有“liballeg.a”文件,因此您根本就没有链接。

  3. 您不必将所有这些文件复制到任何地方,但是您应该使用-I-L参数告诉编译器应该在哪里查找标头和库。< / p>

  4. 假设您将“allegro-5.0.7-mingw-4.6.2.7z”解压缩到“allegro-5.0.7-mingw-4.6.2”文件夹。您有libincluedbin文件夹。只需在此文件夹中创建一个文件并将其命名为“main.cpp”。

    main.cpp的内容:

    #include <allegro5/allegro.h>
    
    int main(){
       al_init();
    
       return 0;
    }
    

    现在您只需输入allegro-5.0.7-mingw-4.6.2

    即可
    • 像这样编译main.cpp
      

    g ++ -c main.cpp -o main.o -I./include

    • 将main.o链接到库:
      

    g ++ -o main.exe main.o -L./lib -lallegro-5.0.7-md

    现在你必须配置Geany来做同样的事情。如果将库和头文件粘贴到正确的MinGW文件夹,则可以省略-I-L参数。