|
| 1 | +/* |
| 2 | + * A small test program that you can compile and run to verify that Allegro was |
| 3 | + * installed correctly. It assumes you installed all the addons. |
| 4 | + */ |
| 5 | + |
| 6 | +#include <allegro5/allegro.h> |
| 7 | +#include <allegro5/allegro_font.h> |
| 8 | +#include <allegro5/allegro_ttf.h> |
| 9 | +#include <allegro5/allegro_image.h> |
| 10 | +#include <allegro5/allegro_audio.h> |
| 11 | +#include <allegro5/allegro_acodec.h> |
| 12 | +#include <allegro5/allegro_native_dialog.h> |
| 13 | +#include <allegro5/allegro_primitives.h> |
| 14 | +#include <allegro5/allegro_video.h> |
| 15 | +#include <allegro5/allegro_color.h> |
| 16 | +#include <allegro5/allegro_physfs.h> |
| 17 | +#include <allegro5/allegro_memfile.h> |
| 18 | + |
| 19 | +#include <stdio.h> |
| 20 | + |
| 21 | +int main() { |
| 22 | + uint32_t version = al_get_allegro_version(); |
| 23 | + int major = version >> 24; |
| 24 | + int minor = (version >> 16) & 255; |
| 25 | + int revision = (version >> 8) & 255; |
| 26 | + int release = version & 255; |
| 27 | + |
| 28 | + fprintf(stderr, "Library version: %d.%d.%d.%d\n", major, minor, revision, release); |
| 29 | + fprintf(stderr, "Header version: %d.%d.%d.%d\n", ALLEGRO_VERSION, ALLEGRO_SUB_VERSION, ALLEGRO_WIP_VERSION, ALLEGRO_RELEASE_NUMBER); |
| 30 | + fprintf(stderr, "Header version string: %s\n", ALLEGRO_VERSION_STR); |
| 31 | + |
| 32 | + if (!al_init()) { |
| 33 | + fprintf(stderr, "Failed to initialize Allegro, probably a header/shared library version mismatch.\n"); |
| 34 | + return -1; |
| 35 | + } |
| 36 | + |
| 37 | +#define INIT_CHECK(init_function, addon_name) do { if (!init_function()) { fprintf(stderr, "Failed to initialize the " addon_name " addon.\n"); return -1; } } while (0) |
| 38 | + |
| 39 | + INIT_CHECK(al_init_font_addon, "font"); |
| 40 | + INIT_CHECK(al_init_ttf_addon, "TTF"); |
| 41 | + INIT_CHECK(al_init_image_addon, "image"); |
| 42 | + INIT_CHECK(al_install_audio, "audio"); |
| 43 | + INIT_CHECK(al_init_acodec_addon, "acodec"); |
| 44 | + INIT_CHECK(al_init_native_dialog_addon, "native dialog"); |
| 45 | + INIT_CHECK(al_init_primitives_addon, "primitives"); |
| 46 | + INIT_CHECK(al_init_video_addon, "video"); |
| 47 | + |
| 48 | + fprintf(stderr, "Everything looks good!\n"); |
| 49 | + return 0; |
| 50 | +} |
0 commit comments