如何在Fedora中编译简单的allegro文件?

时间:2015-08-25 16:05:16

标签: c++ cmake g++ fedora allegro

我希望这不是一个重复的问题。我在Fedora Linux发行版上安装了Allegro 5。我也安装了cmake。我的问题是我想要一个简单的例子来编译,这样我就可以学到更多Allegro。

以下是一些命令:

[alanxoc3@alanxocomputer ~]$ locate allegro
/etc/allegro5rc
/usr/lib/liballegro.so.5.0
/usr/lib/liballegro.so.5.0.3
/usr/lib/liballegro_color.so.5.0
/usr/lib/liballegro_color.so.5.0.3
/usr/lib/liballegro_font.so.5.0
/usr/lib/liballegro_font.so.5.0.3
/usr/lib/liballegro_main.so.5.0
/usr/lib/liballegro_main.so.5.0.3
/usr/lib/liballegro_memfile.so.5.0
/usr/lib/liballegro_memfile.so.5.0.3
/usr/lib/liballegro_primitives.so.5.0
/usr/lib/liballegro_primitives.so.5.0.3
/usr/share/doc/allegro5
/usr/share/doc/allegro5/CHANGES-5.0.txt
/usr/share/doc/allegro5/CONTRIBUTORS.txt
/usr/share/doc/allegro5/LICENSE.txt
/usr/share/doc/allegro5/README.txt

我曾尝试使用gcc编译它,而且我不明白我将如何使用cmake,似乎无法找到一个很好的教程。我的g ++命令如下所示:

[alanxoc3@alanxocomputer t00]$ g++ main.cpp
main.cpp:5:30: fatal error: allegro5/allegro.h: No such file or directory
compilation terminated.

这是我的源文件:

/**********************************************************
 * main.cpp - This program should create a test in the 
 * "Allegro" game programming language for c++.
 *********************************************************/
#include <allegro5/allegro.h>

int main (int argc, char *argv[])
{
   // Initialize a window
   allegro_init();
   install_keyboard();
   set_gfx_mode(GFX_AUTODETECT, 640, 480, 0 0);

   // Stall the program
   readkey();

   return 0;
}

END_OF_MAIN();

在此先感谢,我非常感谢一些建议:)。

1 个答案:

答案 0 :(得分:1)

糟糕!你忘了阅读文档。

按照惯例,库的“主”包只包含可再发行的二进制文件,例如您在问题中列出的那些。通常还有一个带有后缀-devel的“开发”包,其中包含构建使用该库的程序所需的头文件。

确实,the relevant page on the Allegro wiki fedora allegro 的第一个Google结果)列出了allegro-devel作为可用软件包之一。以下是该页面的引用:

  

编译使用Allegro 5的程序需要-devel个包。-debuginfo包应包含调试符号,以便在发生崩溃时提供更有用的输出。其他软件包是核心库和插件的运行时(运行Allegro 5程序所需)。