[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
On 2011-08-09, John-Kim Murphy <leftium@xxxxxxxxxx> wrote:
> I was going to confirm on the 5.0 branch first, but I'll share some recent
> headaches I had with building Allegro 5.1 from source on MSVC 10 (+ addons
> and dependencies):
>
> I suggest linking to static dependencies (like libogg_static):
>
> - Current ogg/vorbis/vorbisfile MSVC sln files produce libraries prefixed
> with "lib" (i.e. libogg.lib + libogg.dll)
> - I tried modifying the CMake files to account for the actual library
> name, but it didn't help.
> - CMake (v2.8.5) is trying to be smart and taking off that "lib"
> prefix before searching for libraries?
> - Generates/builds, but acodec addon is disabled
Does it work if you edit the find_library lines in
cmake/FindVorbis.cmake?
> - Removing "lib" prefix from files enables the acodec addon, but then
> there are runtime errors because the DLL's are not found.
> - DLL's are expected to have file names with "lib" prefix
The DLL names are baked into the import libraries so that's why renaming
didn't work.
> - (Some) DLL's are only searched for in two directories: System32 and
> the executable's current directory.
> - Confusing because Allegro DLL's are found as long as they are in
> the system path
> - So although all required DLL's are in the same directory, the
> dependent DLL's cannot be found.
Ok, noted.
> - Using static versions of dependencies avoided all problems above
> (although "lib" still had to be removed from filenames)
>
> Also, MSVC cannot find an "m.lib" when doing the vorbis compile test.
> Apparently it was added because it's required when linking to static
> libraries, but I removed that bit from the CMakefile without a problem.
This is now GCC-specific.
> Finally, I tweaked the CMake files so the d3dx9 libraries are auto-detected
> and only searched for once.
Is this much of a problem?
> > > I can confirm that it compiles on OSX 10.7 (except I have to edit
> > > addons/acodec/CMakesLists.txt and disable the vorbis check as it always
> > > fails when using CMAKE_OSX_ARCHITECTURES=i386).
What's the failure?
Peter