From Allegro Wiki
If you want to use Allegro, you should be able to work comfortably with a computer and know the basics of programming in C or C++ either using an IDE or though the command line of your operating system. If you do not know how to program yet then please refer to the section Learn C or C++.
Allegro can be installed either from pre-built binaries or from sources. If you are on Windows, the recommended way to install Allegro is to install from pre-built binaries. On Windows, it is time-consuming and error prone to compile and install the required supporting libraries of Allegro. On Linux it's recommended to install Allegro from sources. It's much easier on Linux to compile and install the supporting libraries than it is on Windows. On OSX it's recommended that you install homebrew and then use this environment to build Allegro from sources.
With the release of Allegro 5.2, there is no longer an unstable branch (previously 5.1.x). Allegro 5.2 is source compatible but not binary compatible with Allegro 5.0. Some areas of the API will only be available if you define the ALLEGRO_UNSTABLE macro before including Allegro headers. For further information, see the official documentation.
The bleeding-edge development version can always be found on Allegro's git repository. See the instructions for obtaining the latest source on the official Allegro web site.
Installing From Binaries
The tutorials below show you how to install Allegro with the pre-built binaries using different IDEs and compilers. If you don't see your system listed here, see the manual building instructions in the next section.
The latest 5.2.x version binaries may be found here.
- Installing with MSYS2
- Install Allegro from Nuget for Microsoft Visual Studio 2015.
- Install Allegro from binaries for Microsoft Visual Studio 2008.
- Install Allegro from binaries for Microsoft Visual Studio 2010.
- Install Allegro from binaries for MinGW and Code::Blocks.
- Hiding the console window with Code::Blocks has additional information on using Code::Blocks.
Installing From Sources
These tutorials show how to build Allegro from it's sources, which is necessary if there are no pre-built binaries available for your system, or you want to try out the unstable version of Allegro outside of its snapshot releases.
- Building with msys2
- Building from git for XP/Vista/Win7/8 with MinGW
- Building Allegro 5.1 (rev 15032) Windows 7
- Notes on building with MSVC
- Install Allegro from sources for XCode 4 on OSX.
- OSX, Xcode 5, dylib
- OSX, Xcode 5, static libraries
- Install Allegro5 From Git. These instructions will also work on Linux if you skip the OSX specific parts.
- Install Allegro from sources on Debian + Ubuntu.
- Install Allegro from sources on CentOS/RHEL.
- Some Ubuntu-specific notes for installing Allegro.
For an introduction how to use Allegro with Android see this page: Running_Allegro_applications_on_Android
Or follow the directions in the README_android.txt found in the source distribution of Allegro.
Official Getting Started Guide
The official getting started guide is part of Allegro's official manual and will introduce you to the parts of the Allegro API that you will most likely need for developing a game of an audiovisual application.
These tutorials teach you how to use Allegro 5. Starting with the absolute bare necessities of display creation, and extending into all the various add-ons for music, and fonts and primitives.
These tutorials assume you are fairly competent in C or C++.
- Allegro 5 API Tutorials
- Allegro Vivace
- Tilemap Example
- Achieving Resolution Independence
- CodingMadeEasy Allegro 5 youtube video series
- Porting from A4 to A5
Problems Using Allegro
If you have problems using Allegro, this section provides help with what to do next.
At some point (usually sooner than later) you'll need help. There are two places where you can get help:
- allegro.cc - This is best place to get help, with many knowlegeable and helpful users ready to be of assistance. Just sign up for an account, and ask your question on the forums.
- #allegro at irc.freenode.net - The IRC often has people online that can provide live assistance. We sometimes get a little bit off-topic, but usually you'll find somebody to help you. You can access the IRC using your favorite desktop IRC client, or the webchat (type in #allegro in the list of channels you want to join).
This section contains various online resources that may be of interest if you use or want to learn how to use Allegro.
The manual will list every function and type that may be useful in your Allegro program:
The following three websites are the main Allegro websites with the most general purpose content. Of course there are many other sites related to Allegro, but for the most part you can find links to them from these listed below.
- Allegro Wiki You are here. This is the official wiki (maintained by Thomas Fjellstrom) for all things Allegro and includes helpful articles of all sorts.
- Allegro.cc A community website (maintained by Matthew Leverton) used mainly for the Depot (categorizes and hosts games) and the Forums. This is the best place to ask questions and keep in touch with the Allegro community.
- Official Allegro Website Hosted by SourceForge, the official website has the Allegro source, API reference, news, FAQs, etc.
External Recommended Websites
The following external web sites related to Allegro may be of interest to you.
- 2D Game Development Course using Allegro 5 - A set of video tutorials covering a wide variety of concepts needed to create simple games with Allegro 5
- C++ Allegro 5 Made Easy - A set of video tutorials covering a slightly different set of concepts than the above series
- Allegro 5 Book - A set of tutorials that cover some basic usage of Allegro 5
Learn C or C++
-  - An online C programming class.
-  - An online book that will teach you the basics of C programming. Recommended if you already know a different programming language than C.
Allegro In Depth
- Allegro 4 - Allegro 4 is an older, deprecated version of Allegro. Don't use it for new projects unless you have very good reason to.