Doesn't anybody test these things/
Seems appropriate. Is there some config option that I need to enable to use files meant for compiling on Windows that could be the culprit here, or is this just a pure parade of hell?
The rest is too long to post, and you may view it here:
Why do I have the feeling that MSYS is mandatory to compile allegro?
]]>First, you're compiling the wrong branch.
You have to checkout 4.4 before creating a build directory and changing to it. If you want to build 4.4 with MSVC, you'll need a really old version of DirectX to do it.
Find the DXSDK from Aug 2006 here :
https://www.microsoft.com/en-us/download/confirmation.aspx?id=10368
If you meant instead to build Allegro 5, there is a NuGet package for newer versions of MSVC available.
See SiegeLord's NuGet packages page here :
https://www.nuget.org/profiles/SiegeLord
Edit
Also, you don't need MSYS to compile Allegro 4.4, just ogg and vorbis, but they wouldn't be compatible with MSVC.
Aye, I was an idiot. I wanted to be lazy, and grab the files as a ZIP. I should most a video of this, as it is stunningly absurd: GH removed the ability to toggle branches on Firefox older than N, without specifying what 'N' version they allow. I had to jump into Chrome, or open yet-another-git-bash prompt.
I'm not sure which needs more resources.
I just ran the entire allegro codebase, using the DirectX SDK (June 2010, plus two files (ddraw.h and ddraw.lib) from the Feb 2010 SDK. It all compiled, and it output the libs. I thankfully already had libogg compiled.
These are the output files in lib/Release :
jpalleg.lib ( 59.2K )
loadpng.lib ( 22.5K )
alleg.lib ( 1.49MB )
Plus a huge list of .obj files in their own paths...but no alleg.dll ?
Did I miss a setting, a step, or a file? Is that what the SHARED flag generates?
If so, what are the proper flags to ensure that everything is static linked (using the CMake GUI).
One other thing... pkgConfig is Linux-only; yes? The tooltip for it in the CMake file does not notify Linux/Unix in every instance where they are *nix-only, such as ALSA. (It also should say 'Linux', not 'Unix', in these instances, unless this compiles on Solaris or System V, or something along those lines.)
I'm doing a clean+rebuild now, to see if that SHARED flag generates the .dll file.
Hmm, aye, SHARED generates the dlls, but not a monolithic static-linked dll. It generated alleg44.dll, jpgaleg.dll, and loadpng.dll. I definitely need the flags to instruct CMake to do that.
]]>Allegro 4 doesn't have the WANT_MONOLITH option. It would be nice, but it's not implemented currently.
]]>Allegro 4 doesn't have the WANT_MONOLITH option. It would be nice, but it's not implemented currently.
4.4.2 built the dll as one file. Has this been disabled somehow? I seem to remember building alleg44.dll as one file under 4.4.3 in the past, too.
]]>