Since there are many different platforms, compilers, and library versions, errors are bound to pop up when compiling source code written by someone whose configuration is different from yours. Hopefully this will help out a bit. I am mostly familiar with GCC under Linux and DJGPP under DOS. If you have other tips for getting things working (such as tips for other platforms and compilers), let me know.
If you get an error message saying something like undefined referenced to
_manged_main.., add END_OF_MAIN();
immediately after the main
function. You'll get this error if you're using an Allegro WIP and the
END_OF_MAIN macro isn't there. If you're not using a WIP (ie, you're using a
stable version) and it is there, remove it if you have problems.
make is really picky about indentation and line endings. I think the DJGPP
version will handle Unix format line feeds ok, but Unix make will complain
about DOS format line feeds. The solution is to convert from DOS to Unix line
feeds with a program like fromdos. A command like
fromdos < makefile > newmakefile ; mv newmakefile makefile
should
fix it up.