【问题标题】:Compiling Allegro 5.0 libs on ubuntu: "undefined reference to ..."在 ubuntu 上编译 Allegro 5.0 库:“未定义对...的引用”
【发布时间】:2011-07-13 20:06:11
【问题描述】:

我是 Allegro、Ubuntu 和 C++ 的新手……提前抱歉……

我刚刚安装了 Allegro 4。来自 ubuntu 软件管理器的一些东西。然后我按照of this page 的指示安装 Allegro 5。我认为我的库没有正确链接,但我不知道如何手动更改它。

我的代码:

#include <allegro.h> //the allegro 4 header?
#include <allegro/allegro5.h> //the allegro 5 header?

int main(){
    allegro_init();
}

END_OF_MAIN()

我的编译行:

g++ allegro_test.cpp -o output.out `pkg-config --libs allegro5.0`

我的输出:

allegro_test.cpp (.text+0x2a) undefined refrence to '_install_allegro_check_version'

我认为它类似于this question,但我不知道如何链接库。我想让它自动知道。

【问题讨论】:

    标签: allegro allegro5


    【解决方案1】:

    我知道现在回答这个问题为时已晚,但可能有人在某个地方寻求答案。

    头文件错误;应该是这样的:-

    #include <allegro5/allegro.h>
    

    【讨论】:

      【解决方案2】:

      根据您链接的问题:

      gcc foo.c -o foo $(pkg-config --libs allegro-5.0)
      

      但是,您发布的源代码是 Allegro 4。Allegro 5 不向后兼容。 A5 等价物是:

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

      【讨论】:

      • 似乎就是这样......我注释掉的其余代码初始化键盘,现在也需要更新。谢谢!!!!
      • 手册@allegro.cc/manual/5 应该会有所帮助。它还包含指向使用该页面上特定功能的任何示例的内联链接。
      猜你喜欢
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      • 2017-09-05
      • 1970-01-01
      • 2021-03-14
      • 1970-01-01
      • 2014-05-24
      • 1970-01-01
      相关资源
      最近更新 更多