The Allegro Guide
General » Windows » MSVC » Using Allegro
I. Creating a Project
Using Allegro with Microsoft Visual Studio is simple once you get the workspace
configured. For most applications, you will want to use a "Win32 Application" and
link against the optimized library. While writing the code, however, you will
probably want to use the debugging and profiling modes. We are assuming you already
have Allegro already installed for MSVC.
A. Configuring a Win32 Application
If you want to create a game with graphics, then you need to create a 'Win32 Application'
workspace.
- Open Microsoft Visual Studio
- Click on File / New
- Choose Win32 Application
- Enter your Project Name and hit "OK"
- Select "An Empty Project" and press "Finish"
- Hit "OK" on the status window that pops up
Your workspace has been set up, but now we need to link to the Allegro library. You
technically only need to set up the optimized or debugging version, but it's recommended
to set up all three versions of Allegro - including the profiling. Remember that you
must have already built all these versions of Allegro before you can use them!
- Click on "Build" / "Configurations"
- Click the "Add..." button
- In the "Configuration" textbox, enter "Profile" and Click "OK"
- Click "Close"
Now that we have all the configurations in place, we must set them up. We need to make the decision now if we
want to statically link or dynamically link. Dymamically linking means that you must distribute the Allegro DLL
along with your files. If you statically link, your executable will be much bigger (the size of the DLL), but you
will not need to distribute the DLL. If you have more than one executable, you should probably link dynamically
to save space. If you want to be able to do either, then you can repeat the steps 1-4 from above and add three more
configurations entitled "Static Release, "Static Profile", and "Static Debug".
In short, you only need to do one or the other. If you are not sure, then linking dynamically is the safer
option.
1. Dynamically Linking
- Click on "Projects / Settings"
- Make sure that the project name (the first item) is selected on the ListView on the left hand side
- Select "Win32 Release" in the "Settings For" drop down
- Under the "Code Generation" in the "C/C++" tab, choose "Multithreaded DLL"
- Under the "Object/library modules" in the "Link" tab, replace everything with "alleg.lib"
- Select "Win32 Debug" in the "Settings For" drop down
- Under the "Code Generation" in the "C/C++" tab, choose "Debug Multithreaded DLL"
- Under the "Object/library modules" in the "Link" tab, replace everything with "alld.lib"
- Select "Win32 Profile" in the "Settings For" drop down
- Under the "Code Generation" in the "C/C++" tab, choose "Multithreaded DLL"
- Under the "Object/library modules" in the "Link" tab, replace everything with "allp.lib"
- Checkmark the "Enable Profiling" in the "Link" tab
2. Statically Linking
(Note: If you have chosen to configure both dynamic and static links, make sure to select the Static configurations
in the steps below.)
- Click on "Projects / Settings"
- Make sure that the project name (the first item) is selected on the ListView on the left hand side
- Select "Win32 Release" in the "Settings For" drop down
- Under the "Code Generation" in the "C/C++" tab, choose "Multithreaded DLL"
- Under the "Object/library modules" in the "Link" tab, replace everything with "alleg_s.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib dinput.lib ddraw.lib dxguid.lib winmm.lib dsound.lib"
- Select "Win32 Debug" in the "Settings For" drop down
- Under the "Code Generation" in the "C/C++" tab, choose "Debug Multithreaded DLL"
- Under the "Object/library modules" in the "Link" tab, replace everything with "alld_s.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib dinput.lib ddraw.lib dxguid.lib winmm.lib dsound.lib"
- Select "Win32 Profile" in the "Settings For" drop down
- Under the "Code Generation" in the "C/C++" tab, choose "Multithreaded DLL"
- Under the "Object/library modules" in the "Link" tab, replace everything with "allp_s.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib dinput.lib ddraw.lib dxguid.lib winmm.lib dsound.lib"
- Checkmark the "Enable Profiling" in the "Link" tab
The workspace is entirely configured now! Skip down to the section entitled "Compiling Source Code" to get your
first program compiled.
B. Configuring a Console Application
If you just want to use Allegro for a text console, then you can follow the above instructions, except you
will need to choose "Win32 Console Application" when first creating the project. Also, you will need to define
"USE_CONSOLE" before you include "allegro.h", as illustrated below.
II. Compiling Source Code
For the sake of simplicity, we will set up a program from one source file that should display the words "Hello World" in a pop up dialog box.
- Click on "File" / "New"
- Choose "C / C++ Source File", enter the filename, and press "OK"
- Enter the following code:
/* #define ALLEGRO_STATICLINK */
/* #define USE_CONSOLE */
#include "allegro.h"
int main(void)
{
allegro_init();
allegro_message("Hello World");
return 0;
}
END_OF_MAIN();
(Note: If you are statically linking or using a Win32 Console Application, then uncomment the associated lines.)
- Compile and Run the program. (CTRL-F5)
To select which configuration you want to build, simply choose "Build" / "Set Active Configuration" and choose which one to use. Generally,
you will code your project with the Debugging version, test for performance with the Profiling version, and the release with the Release (Optimize)
version.