Revision as of 16:57, 9 May 2009

This is the list of changes from source distributions that need to be made to get the Hugin SDK compiled using Microsoft Visual Studio 2008 Express Edition, which is a precondition to compiling Hugin on Windows.

The changes listed here apply to both 32-bit and 64-bit versions of the Hugin SDK. In addition, all of the diff files supplied performed an additional step of converting the projects to have two platforms supported (Win32 and x64), although this is not a necessary step if you're only compiling on Win32.

Changes that were specific to x64 are not documented explicitly in here, because they would essentially be the same as the diff files supplied, as they were purely source changes.

OpenEXR

Open solution file <SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option "Show the conversion log when the wizard is closed" and click Close

Due to the fact that the Visual Studio solutions of OpenEXR are configured to build dynamic libraries, some modifications are necessary to build the required static libraries:
For each project in Solution Explorer open the Property Pages dialog by choosing Project > Properties. Process the following steps for Debug and Release configuration. Some of the properties are not avaliable in every project, thus continue with next step.

Open solution file <SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option "Show the conversion log when the wizard is closed" and click Close

For project IlmImf do the same configuration property changes as in IlmBase solution described above

Right-click IlmImf in Solution Explorer, and then choose Properties from shortcut menu

In the Property Pages dialog do the following for Debug and Release configuration:
Choose Configuration Properties > C/C++ > General. In Additional Include Directory entry enter following additional include directory:

..\..\..\..\..\..\wxWidgets-2.8.10\src\zlib

(64-bit) Add x64 Configuration

Enblend/Enfuse/libxmi

Open the file <SDKHOME>\enblend-enfuse-3.2\enblend_msvc2008.sln

Add x64 Configuration

Choose "File" > "New Project"

For the path, give it <SDKHOME>\libxmi and the name of libxmi

In the Solution Explorer, select the new libxmi project

Choose "Project" > "Add Existing Item"

Navigate to <SDKHOME>\libxmi and select all the .c and .h files

Click OK

Open <SDKHOME>\libxmi\sys-defines.h

Change the line

#include <config.h>
<pre>
to read
<pre>
#include "config.h"

Close the file

Open <SDKHOME>\libxmi\config.h

Change the line

#define HAVE_VALUES_H 1

to read

/* #undef HAVE_VALUES_H */
#define HAVE_STRERROR 1

Save and Close the file

Note

Pure ASM isn't supported when compiling x64, so an SSE4/SSE4.1 intrinsics replacement is used instead, which x64 machines will support.