欢迎使用Allegro!
Allegro是一个跨平台库,主要面向视频游戏和多媒体编程。它处理常见的底层任务,如创建窗口、接受用户输入、加载数据、绘制图像、播放声音等,并通常抽象底层平台。然而,Allegro不是一个游戏引擎:你可以自由设计和构建你的程序结构。
Allegro 5具有以下额外特性:
- 支持Windows、Linux、Mac OSX、iPhone和Android
- 用户友好、直观的C API,可从C++和许多其他编程语言使用
- 硬件加速的位图和图形基元绘制支持(通过OpenGL或Direct3D)
- 音频录制支持
- 字体加载和绘制
- 视频播放
- 着色器和低级多边形绘制的抽象
- 以及更多!
本自述文件包含适用于Allegro可构建的所有平台的一般信息。
README_cmake.txt讨论了一些CMake的构建选项。
README_msvc.txt讨论了在Windows上使用Microsoft Visual C/C++的编译。
README_make.txt讨论了使用GNU make的编译。这适用于类Unix操作系统,如Linux、MacOS X和Windows上的MinGW。
README_macosx.txt对MacOS X有一些额外说明。
README_iphone.txt讨论iPhone操作系统。
要求
我们假设你已安装并正常运行C和C++编译器。 我们支持gcc、clang和MSVC。
Allegro还需要CMake 3.0或更高版本来构建。 你可以从http://www.cmake.org/下载。
库依赖
Allegro分为一个核心库和多个附加库。 核心库依赖某些库才能正常工作。如果你没有这些库,什么都无法运行。以下是核心库所需的:
-
DirectX SDK(仅Windows)
你可以从Microsoft网站获取MSVC版本(大文件下载)。
或者,这里提供MSVC和MinGW的较小下载:http://liballeg.org/download.html#miscellaneous-files。一些MinGW发行版附带了足够支持编译Allegro的DirectX SDK。
-
X11开发库(仅Linux/Unix) 这些库是Linux发行版的一部分,但你可能需要明确安装。
-
OpenGL开发库(仅在Windows上可选)
附加库也可能需要额外的库。由于附加库是严格可选的,它们不是构建Allegro所必需的,但如果没有它们,许多功能可能会被禁用。
Windows用户可以从http://gnuwin32.sourceforge.net/找到一些额外库的预编译二进制文件。你需要获取bin
和lib
包。bin
包含DLL,lib
包含头文件和导入库。
Mac用户可以在Homebrew、Fink或MacPorts中找到一些依赖项。 http://brew.sh/、http://www.finkproject.org/和 http://www.macports.org/
Linux用户可能已经拥有所有依赖项,除了PhysicsFS和DUMB。如果你的发行版使用单独的开发包,则需要安装它们。这些包可能命名为*-dev或*-devel。
以下是附加库所需的依赖项:
-
libpng和zlib,用于PNG图像支持(仅Unix和旧版MinGW) 主页:http://www.libpng.org/pub/png/ Windows二进制文件:http://gnuwin32.sourceforge.net/packages/libpng.htm
在Windows/Mac OS X/iPhone/Android上,PNG图像支持可通过使用各自操作系统的本机功能获得,因此不需要libpng。
-
libjpeg,用于JPEG图像支持(仅适用于Unix和较旧的MinGW) 主页:http://www.ijg.org/ Windows二进制文件:http://gnuwin32.sourceforge.net/packages/jpeg.htm
在Windows/Mac OS X/iPhone/Android上,JPEG图像支持可通过使用各自操作系统的原生功能实现,因此不需要libjpeg。
-
libwebp,用于WebP图像支持 主页:https://developers.google.com/speed/webp/
在Android上,WebP图像支持可通过使用操作系统的原生功能实现,因此不需要libwebp。
-
FreeType,用于TrueType字体支持 主页:http://freetype.sourceforge.net/ Windows二进制文件:http://gnuwin32.sourceforge.net/packages/freetype.htm
-
Ogg Vorbis,一种免费的有损音频格式(libogg、libvorbis、libvorbisfile) 主页:http://www.vorbis.com/
-
Opus,一种免费的有损音频编解码器(libogg、libopus、libopusfile) 主页:http://www.opus-codec.org/
-
FLAC,一种免费的无损音频编解码器(libFLAC、libogg) 主页:http://flac.sourceforge.net/
-
DUMB,一个IT、XM、S3M和MOD播放器库(libdumb) 主页:http://dumb.sourceforge.net/
-
OpenAL,一个3D音频API 音频插件可以使用OpenAL,尽管3D功能未被使用。 http://kcat.strangesoft.net/openal.html
在Mac OS X上,OpenAL是必需的,但应该已经随操作系统一起提供。
在Linux和Windows上,只有在您明确请求时才会使用OpenAL,因此没有特别安装它的必要。
-
PhysicsFS,提供对档案(如.zip文件)的访问 主页:http://icculus.org/physfs/
在Windows上,要将所有这些库放置在可被找到的位置可能会很麻烦。当需要时,请参阅README_cmake.txt中关于"deps子目录"的部分。
API文档
要构建文档,您需要Pandoc。 Pandoc的主页是http://johnmacfarlane.net/pandoc/
从源代码安装Pandoc可能具有挑战性,但您可以在不构建文档的情况下构建Allegro。
在线文档可在Allegro网站上获取: http://docs.liballeg.org/
使用CMake构建
使用CMake构建是一个两步过程。在配置步骤中,cmake将检测您的编译器设置并查找系统上安装的库。同时,您可以选择选项来自定义构建。如果您不确定自己在做什么,请将所有选项保留为默认值。
您必须在单独的构建目录中配置Allegro。例如,
mkdir build
cd build
cmake ..
如果您将Allegro配置为在源目录中构建(即cmake .
),您将收到错误消息。删除CMakeCache.txt
和CMakeFiles
目录,然后按上述方法重新配置。
一旦配置步骤成功,您将调用另一个工具来构建Allegro。该工具取决于您的编译器,但通常是make
或您的IDE。
为避免问题,请将Allegro解压到路径中没有空格或其他"奇怪"字符的目录中。这是一个已知问题。
现在请阅读README_msvc.txt、README_make.txt或README_macosx.txt。