I've been working on a game engine on top of Allegro, and I'd like to compile it as a static library so I can use it in other projects. I'm using Visual Studio, and I have the Allegro .lib files listed under "Librarian > General" as Additional Dependencies:
allegro.lib; allegro_font.lib; allegro_ttf.lib; allegro_image.lib; allegro_audio.lib; allegro_primitives.lib; allegro_acodec.lib;
This works fine; I'm able to use the resulting library in another project. The catch is that Allegro's .dll files are still required to be present. This is not a surprise, because I didn't add Allegro's static library files to my dependencies.
So, I tried replacing "allegro.lib" with "allegro_monolith-static.lib", and made sure "ALLEGRO_STATICLINK" was defined under "C/C++ > Preoprocessor".
But now when I use the resulting .lib in a new project, I get a ton of errors:
Error LNK1120 163 unresolved externals
Error LNK2001 unresolved external symbol _DirectSoundCreate8@12
Error LNK2001 unresolved external symbol _DirectSoundCaptureCreate8@12
Error LNK2001 unresolved external symbol __imp__wglGetProcAddress@4
Error LNK2001 unresolved external symbol __imp__glGetIntegerv@8
Error LNK2001 unresolved external symbol __imp__glGetString@4
and so on. What am I doing wrong?