Trying to compile Exodus

Official support forum for the Exodus Emulation Platform

Moderator: Nemesis

Post Reply
tryphon
Very interested
Posts: 252
Joined: Sat Aug 17, 2013 9:38 pm
Location: France

Trying to compile Exodus

Post by tryphon » Sun Mar 10, 2019 8:25 pm

I suck terribly when it comes to configure a compilation chain, and thus, I failed at compiling Exodus.

Here are the instructions from https://www.exodusemulator.com/downloads/source :
To setup your development environment, do the following:

Download and install Visual Studio 2013 Community Edition (ISO Image: http://go.microsoft.com/?linkid=9863609)
Download and install the Windows SDK (Web installer only)
Download and install the VisualHG plugin for Visual Studio
Open Visual Studio and select the "Tools -> Options" menu item
Select "Source Control -> Plug-in Selection" from the tree control on the panel
Choose "VisualHG" from the combobox as the current source control plugin, and press ok.
All done. Took me 3 hours...
Under the "expat" directory, expat 2.1.0 (Direct Link: http://sourceforge.net/projects/expat/f ... 1.0.tar.gz)
Under the "libjpeg" directory, libjpeg 9a (Direct Link: http://ijg.org/files/jpegsr9a.zip)
Under the "libpng" directory, libpng 1.6.12 (Direct Link: http://download.sourceforge.net/libpng/lpng1612.zip)
Under the "libtiff" directory, libtiff 4.0.3 (Direct Link: http://download.osgeo.org/libtiff/tiff-4.0.3.zip)
Under the "zlib" directory, zlib 1.2.8 (Direct Link: http://zlib.net/zlib128.zip)
If you want to build the documentation, under the "htmlhelp" directory, Microsoft HTML Help Workshop (Direct Link: http://go.microsoft.com/fwlink/?LinkId=14188)
If you want to build the unit tests, under the "catch" directory, Catch (Direct link - https://github.com/philsquared/Catch/archive/master.zip)
All done. But some links don't work, so I googled the files. I may have some slightly different, it may prove important later...
For each compressed file you've downloaded, you now need to extract each one directly into the folder it's in. IE, if the archive name was "SomeArchive.zip", and it contained a compressed folder called "SomeFolder", after you extract, you should have SomeFolder sitting in the same directory as SomeArchive.zip.
At this step I was a little confused : in the Exodus/Third dir, I already have catch, expat, etc. subdirs, mostly empty.

Let's take zlib. The zip file I downloaded is named zlib128.zip. Must I copy its content in a subdir named zlib128, or in the already existent named simply zlib ?

I chosed the second solution (because in the 1st, I did not know what to do with the original 'zlib' dir and the files it contained). May be I was wrong.
With your development environment setup, you're ready to compile Exodus. This can be done on the command line with MSBuild, but the easiest way is within Visual Studio. To compile Exodus, do the following.

Open "ThirdPartyLibraries.sln" from the root of the Exodus repository in Visual Studio
Select "Build -> Batch Build" from the main menu
Click "Select All", then "Build". This will build all the different platform and build configuration variations of the third libraries, which makes things simpler.
This step failed miserably. I had 60 Errors, mainly :
Error 1 error MSB8020: The build tools for v141 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install v141 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Upgrade Solution...". C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets 64 5 libjpeg
and the same for other libraries...

User avatar
Nemesis
Very interested
Posts: 694
Joined: Wed Nov 07, 2007 1:09 am
Location: Sydney, Australia

Re: Trying to compile Exodus

Post by Nemesis » Mon Mar 11, 2019 11:25 am

Sorry, that's my bad. I upgraded the toolchain with the latest release, but I forgot to update those instructions. Exodus now requires VS2017 to compile. You can get that from the main Visual Studio download page at https://visualstudio.microsoft.com/downloads/. Note that VS2017 has a fairly complex installer. You'll need to ensure you've got the right options selected for "desktop" C++ application development. Pay particular attention to the "Windows SDK". You used to simply be able to target the "latest available" version that was installed and have it work, but Microsoft broke that in recent years and things have got a lot more complicated. Although Exodus can compile against any version of the Windows SDK, you need to install the "10.0.16299" version for it to be found automatically. That version of the SDK will be an option buried in the custom install settings in the VS2017 installer. You don't need MFC/ATL support for Exodus, but I'd recommend installing it anyway.

As for the third party libraries, that list is also old. The up to date set is listed in the "build instructions.txt" file that's checked into the "Third" directory in the repo. You just need the five main libraries listed, not the ones under the "testing" and "help" sections. What you want to do is place each downloaded file into the relevant sub-directories that exist, and extract each one in-place. IE, when you extract "expat-2.1.0.tar.gz", you should end up with a "Third\expat\expat-2.1.0" folder, under which you'll find its files like "CMake.README".

With the updated Visual Studio version, and the newer third party library versions, you should find it builds without trouble.

tryphon
Very interested
Posts: 252
Joined: Sat Aug 17, 2013 9:38 pm
Location: France

Re: Trying to compile Exodus

Post by tryphon » Wed Mar 13, 2019 8:04 pm

Ah ah :D

I hate you :)

It took me 5 hours to install VS2013, I have no more room on my HDD. I'm uninstalling everything, and try again :mrgreen:

User avatar
Nemesis
Very interested
Posts: 694
Joined: Wed Nov 07, 2007 1:09 am
Location: Sydney, Australia

Re: Trying to compile Exodus

Post by Nemesis » Thu Mar 14, 2019 10:51 am

Sorry! Unfortunately the VS2017 installer is even more of a monster, but it'll only download what you select. If your downloads take awhile, you might want to be conservative and turn off stuff you don't need to save some time. If space is an issue, you'll also need to be selective. If you download everything, it's over 40GB before you install it. You only need things related to desktop C++ development (non-UWP) with the 10.0.16299 Windows SDK.

tryphon
Very interested
Posts: 252
Joined: Sat Aug 17, 2013 9:38 pm
Location: France

Re: Trying to compile Exodus

Post by tryphon » Thu Mar 14, 2019 6:52 pm

Thank you :)

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest