我希望这不是一个重复的问题。我在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();
在此先感谢,我非常感谢一些建议:)。
答案 0 :(得分:1)
糟糕!你忘了阅读文档。
按照惯例,库的“主”包只包含可再发行的二进制文件,例如您在问题中列出的那些。通常还有一个带有后缀-devel
的“开发”包,其中包含构建使用该库的程序所需的头文件。
确实,the relevant page on the Allegro wiki( fedora allegro 的第一个Google结果)列出了allegro-devel
作为可用软件包之一。以下是该页面的引用:
编译使用Allegro 5的程序需要
-devel
个包。-debuginfo
包应包含调试符号,以便在发生崩溃时提供更有用的输出。其他软件包是核心库和插件的运行时(运行Allegro 5程序所需)。