Difference between revisions of "Hugin SDK (MSVC 2008)"
Ryansleevi (talk | contribs) (Added patch files to simplify conversions / x64 additions, added directions on how to compile an x64 SDK (excluding UnxUtils and exiftool)) |
(Add Compiling category) |
||
(19 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | Hugin depends on different components like libraries and tools, which are not available on a common Windows system. All these components can be combined to a Hugin Software | + | Hugin depends on different components like libraries and tools, which are not available on a common Windows system. All these components can be combined to a Hugin Software Development Kit (SDK). This article gives step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2008 (MSVC 2008) Express Edition and precompiled dependencies. |
− | While this article is designed for developing a native 32-bit version, | + | While this article is designed for developing a native 32-bit version, additional instructions are provided so that a 64-bit version of the Hugin SDK can be compiled. When appropriate, steps that only apply to the 32-bit or 64-bit versions will be noted as (32-bit) or (64-bit), and you can safely ignore them if you are not targeting that particular version. In order to compile a 64-bit version of the Hugin SDK, one does not need a 64-bit computer. However, if they wish to test or debug the binaries, or for some projects (such as OpenEXR) which execute compiled binaries as part of their build step, this will not necessarily be possible on Win32. |
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK. | First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK. | ||
− | The build steps for each component are written like a | + | The build steps for each component are written like a walk-through and annotated on the end of each section. |
Maybe some of the described tools and packages, especially those fetched from Subversion (SVN) repository, will change over time and/or become obsolete. Hence it is likely that some steps will become invalid or won't work any more. | Maybe some of the described tools and packages, especially those fetched from Subversion (SVN) repository, will change over time and/or become obsolete. Hence it is likely that some steps will become invalid or won't work any more. | ||
Line 33: | Line 33: | ||
| style="padding:5px; text-align:left" | TortoiseSVN 1.6.1.16129 (2009-02-13) | | style="padding:5px; text-align:left" | TortoiseSVN 1.6.1.16129 (2009-02-13) | ||
| style="padding:5px; text-align:left" | Tool to handle source codes in Subversion repositories<br/>Visit [http://tortoisesvn.net/downloads Download page] or download<br/> [http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.1.16129-win32-svn-1.6.1.msi <tt>TortoiseSVN-1.6.1.16129-win32-svn-1.6.1.msi (32-bit)</tt>] or<br/> [http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.1.16129-x64-svn-1.6.1.msi <tt>TortoiseSVN-1.6.1.16129-x64-svn-1.6.1.msi (64-bit)</tt>] | | style="padding:5px; text-align:left" | Tool to handle source codes in Subversion repositories<br/>Visit [http://tortoisesvn.net/downloads Download page] or download<br/> [http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.1.16129-win32-svn-1.6.1.msi <tt>TortoiseSVN-1.6.1.16129-win32-svn-1.6.1.msi (32-bit)</tt>] or<br/> [http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.1.16129-x64-svn-1.6.1.msi <tt>TortoiseSVN-1.6.1.16129-x64-svn-1.6.1.msi (64-bit)</tt>] | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11) | ||
+ | | style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> | ||
|- valign="top" | |- valign="top" | ||
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03) | | style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03) | ||
Line 39: | Line 42: | ||
| style="padding:5px; text-align:left" | Java SE Development Kit 6 Update 13 | | style="padding:5px; text-align:left" | Java SE Development Kit 6 Update 13 | ||
| style="padding:5px; text-align:left" | Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page] | | style="padding:5px; text-align:left" | Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page] | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | Microsoft HTML Help Workshop | ||
+ | | style="padding:5px; text-align:left" | HTML Help Compiler<br/>Visit [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=00535334-c8a6-452f-9aa0-d597d16580cc Download page for htmlhelp.exe] | ||
|} | |} | ||
Line 51: | Line 57: | ||
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32) | ! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32) | ||
|- valign="top" | |- valign="top" | ||
− | | style="padding:5px; text-align:left" | [http://hugin.panotools.org/sdk/MSVC/Hugin-SDK- | + | | style="padding:5px; text-align:left" | [http://hugin.panotools.org/sdk/MSVC/Hugin-SDK-20090509-win32.exe <tt>Hugin-SDK-20090509-win32.exe </tt>] (76 MiB, 2009-05-09) |
|} | |} | ||
Line 66: | Line 72: | ||
|- valign="top" | |- valign="top" | ||
| style="padding:5px; text-align:left" | <tt>boost_1_39_0</tt> | | style="padding:5px; text-align:left" | <tt>boost_1_39_0</tt> | ||
− | | style="padding:5px; text-align:left" | Boost C++ libraries 1. | + | | style="padding:5px; text-align:left" | Boost C++ libraries 1.39.0 (http://www.boost.org/)<br/>[http://downloads.sourceforge.net/boost/boost_1_39_0.7z <tt>boost_1_39_0.7z</tt>] (2009-02-09)<br/>[http://downloads.sourceforge.net/boost/boost-jam-3.1.17-1-ntx86.zip <tt>boost-jam-3.1.17-1-ntx86.zip</tt>] (2008-11-29) |
|- valign="top" | |- valign="top" | ||
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt> | | style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt> | ||
Line 72: | Line 78: | ||
|- valign="top" | |- valign="top" | ||
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-3.2</tt> | | style="padding:5px; text-align:left" | <tt>enblend-enfuse-3.2</tt> | ||
− | | style="padding:5px; text-align:left" | Enblend 3.2 and Enfuse 3.2 (http://enblend.sourceforge.net/)<br/> | + | | style="padding:5px; text-align:left" | Enblend 3.2 and Enfuse 3.2 (http://enblend.sourceforge.net/)<br/> |
+ | {| class="wikitable" | ||
|- valign="top" | |- valign="top" | ||
− | + | ! style="padding:5px; text-align:left" | 32-Bit | |
− | + | ! style="padding:5px; text-align:left" | 64-Bit | |
|- valign="top" | |- valign="top" | ||
− | | style="padding:5px; text-align:left" | | + | | style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-3.2.zip <tt>enblend-enfuse-3.2.zip</tt>] (2008-09-09) |
− | + | | style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-3.2.tar.gz <tt>enblend-enfuse-3.2.tar.gz</tt>] (2008-09-09) | |
− | + | |} | |
− | |||
− | | style="padding:5px; text-align:left" | | ||
|- valign="top" | |- valign="top" | ||
| style="padding:5px; text-align:left" | <tt>exiftool</tt> | | style="padding:5px; text-align:left" | <tt>exiftool</tt> | ||
Line 93: | Line 98: | ||
|- valign="top" | |- valign="top" | ||
| style="padding:5px; text-align:left" | <tt>gettext</tt> | | style="padding:5px; text-align:left" | <tt>gettext</tt> | ||
− | | style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/> | + | | style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/> |
+ | {| class="wikitable" | ||
+ | |- valign="top" | ||
+ | ! style="padding:5px; text-align:left" | 32-Bit | ||
+ | ! style="padding:5px; text-align:left" | 64-Bit | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <ul><li>[http://ftp.gnu.org/gnu/gettext/gettext-runtime-0.13.1.bin.woe32.zip <tt>gettext-runtime-0.13.1.bin.woe32.zip</tt>] (2004-01-20)</li><li>[http://ftp.gnu.org/gnu/gettext/gettext-tools-0.13.1.bin.woe32.zip <tt>gettext-tools-0.13.1.bin.woe32.zip</tt>] (2004-01-20)</li><li>[http://ftp.gnu.org/gnu/libiconv/libiconv-1.9.1.bin.woe32.zip <tt>libiconv-1.9.1.bin.woe32.zip</tt>] (2004-01-20)</li></ul> | ||
+ | | style="padding:5px; text-align:left" | <ul><li> [http://ftp.gnu.org/gnu/libiconv/libiconv-1.9.1.tar.gz libiconv-1.9.1.tar.gz] (2003-05-27)</li><li>[http://ftp.gnu.org/gnu/gettext/gettext-0.13.1.tar.gz gettext-0.13.1.tar.gz] (2003-12-17)</li></ul> | ||
+ | |} | ||
|- valign="top" | |- valign="top" | ||
| style="padding:5px; text-align:left" | <tt>glew</tt> | | style="padding:5px; text-align:left" | <tt>glew</tt> | ||
Line 109: | Line 122: | ||
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.10</tt> | | style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.10</tt> | ||
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.10 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.10.zip <tt>wxMSW-2.8.10.zip</tt>] (2009-03-17) | | style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.10 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.10.zip <tt>wxMSW-2.8.10.zip</tt>] (2009-03-17) | ||
+ | |- valign="top" | ||
+ | ! colspan="2" | Additional files only necessary for building a 64-bit SDK | ||
+ | |- valign="top" | ||
+ | ! style="padding:5px; text-align:left" width="30%" | Directory | ||
+ | ! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package) | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <tt>(64-bit) libxmi-1.2-1</tt> | ||
+ | | style="padding:5px; text-align:left" | GNU libxmi 2-D rasterization library (Win32 port) (http://gnuwin32.sourceforge.net)<br/> [http://downloads.sourceforge.net/gnuwin32/libxmi-1.2-1-src.zip <tt>libxmi-1.2-1-src.zip</tt>] (2004-04-16)<br/> | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <tt>(64-bit) STLport-5.2.1</tt> | ||
+ | | style="padding:5px; text-align:left" | STLport Standard Library (http://stlport.sourceforge.net/)<br/> [http://downloads.sourceforge.net/stlport/STLport-5.2.1.tar.gz <tt>STLport-5.2.1.tar.gz</tt>] (2008-12-10)<br/> | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <tt>(64-bit) lcms-1.18a</tt> | ||
+ | | style="padding:5px; text-align:left" | LittleCms Color management library (http://www.littlecms.com)<br/> [http://www.littlecms.com/lcms-1.18a.zip <tt>lcms-1.18a.zip</tt>] (2009-04-19)<br/> | ||
|} | |} | ||
Line 114: | Line 141: | ||
The decompress step of each component contains seemingly inconsistent namings of destination directories, because in some components a subdirectory is specified as destination directory and in some steps only the base directory. This is due to the fact that some package archives contain a base directory and some not. To check the right locations each result section of every component's description contains a summary of the expected files. | The decompress step of each component contains seemingly inconsistent namings of destination directories, because in some components a subdirectory is specified as destination directory and in some steps only the base directory. This is due to the fact that some package archives contain a base directory and some not. To check the right locations each result section of every component's description contains a summary of the expected files. | ||
+ | |||
+ | The SDK is currently outdated. The following changes are necessary to build Hugin: | ||
+ | |||
+ | {| class="wikitable" width="100%" | ||
+ | |- valign="top" | ||
+ | ! style="padding:5px; text-align:left" width="30%" | Directory | ||
+ | ! style="padding:5px; text-align:left" | Description (Website)<br/>Download package | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt> | ||
+ | | style="padding:5px; text-align:left" | Freeglut (http://freeglut.sourceforge.net/index.php)<br/> [http://prdownloads.sourceforge.net/freeglut/freeglut-2.6.0.tar.gz?download <tt>freeglut-2.6.0.tar.gz</tt>] | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <tt>make_3.81</tt> | ||
+ | | style="padding:5px; text-align:left" | GNU make 3.81 (http://www.gnu.org/software/make/) <br/>[http://ftp.gnu.org/pub/gnu/make/make-3.81.tar.gz <tt>make-3.81.tar.gz</tt>] <br/> This package replaces UnxUtils. | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <tt>Templatized C++ Command Line Parser 1.2.0</tt> | ||
+ | | style="padding:5px; text-align:left" | tclap (http://tclap.sourceforge.net/)<br/> [http://sourceforge.net/projects/tclap/files/tclap-1.2.0.tar.gz/download <tt>tclap-1.2.0.tar.gz</tt>] | ||
+ | |} | ||
+ | |||
==== Diff Files ==== | ==== Diff Files ==== | ||
In order to make compilation simple, a series of patch files are included below that contain all the necessary changes, not only to compile the SDK, but to optionally compile an x64 version of the SDK. When directed, you will need to apply the patch file specified. If you are compiling for x64, there may be additional patches you need to apply. | In order to make compilation simple, a series of patch files are included below that contain all the necessary changes, not only to compile the SDK, but to optionally compile an x64 version of the SDK. When directed, you will need to apply the patch file specified. If you are compiling for x64, there may be additional patches you need to apply. | ||
− | The download link for the patches is [https:// | + | The download link for the patches is [https://bugs.launchpad.net/hugin/+bug/679695/+attachment/1741338/+files/hugin_patches.zip https://bugs.launchpad.net/hugin/+bug/679695/+attachment/1741338/+files/hugin_patches.zip] |
− | In order to apply a patch, you will first have needed to follow directions for the [[#UnxUtils UnxUtils]] step. You cannot apply any patches before that step. To apply a patch, follow these directions: | + | In order to apply a patch, you will first have needed to follow directions for the [[#UnxUtils|UnxUtils]] step. You cannot apply any patches before that step. To apply a patch, follow these directions: |
<ol> | <ol> | ||
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li> | <li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li> | ||
Line 147: | Line 192: | ||
'''Result''' | '''Result''' | ||
− | If everything worked, you should see a list of filenames that were patched. If there was an error, you may wish to consult the [[Hugin SDK (MSVC 2008) Patches]] page for instructions on what changes were contained in the patch. | + | If everything worked, you should see a list of filenames that were patched. |
+ | '''Example''' | ||
+ | <pre> | ||
+ | D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff | ||
+ | patching file 'libiconv-1.9.1/srclib/error.c' | ||
+ | |||
+ | D:\usr\src\SDK> | ||
+ | </pre> | ||
+ | |||
+ | If there was an error, you may wish to consult the [[Hugin SDK (MSVC 2008) Patches]] page for instructions on what changes were contained in the patch. | ||
=== UnxUtils === | === UnxUtils === | ||
Line 176: | Line 230: | ||
=== GetText === | === GetText === | ||
− | === | + | {| class="wikitable" |
− | <ol> | + | |- valign="top" |
+ | ! style="padding:5px; text-align:left" | 32-Bit Directions | ||
+ | ! style="padding:5px; text-align:left" | 64-Bit Directions | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <ol> | ||
<li>Create the directory <tt><SDKHOME>\gettext</tt></li> | <li>Create the directory <tt><SDKHOME>\gettext</tt></li> | ||
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt> | <li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt> | ||
Line 187: | Line 245: | ||
</li> | </li> | ||
</ol> | </ol> | ||
− | + | | style="padding:5px; text-align:left" | <ol> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | ||
− | <ol> | ||
<li>Create the directory <tt><SDKHOME>\gettext</tt></li> | <li>Create the directory <tt><SDKHOME>\gettext</tt></li> | ||
<li>Decompress the following files into the directory <tt><SDKHOME></tt> | <li>Decompress the following files into the directory <tt><SDKHOME></tt> | ||
Line 205: | Line 251: | ||
<li><tt>gettext-0.13.1.tar.gz</tt></li> | <li><tt>gettext-0.13.1.tar.gz</tt></li> | ||
<li><tt>libiconv-1.9.1.tar.gz</tt></li> | <li><tt>libiconv-1.9.1.tar.gz</tt></li> | ||
− | </ul | + | </ul> |
− | After decompress, there should be two new folders in <tt> | + | After decompress, there should be two new folders in <tt><SDKHOME></tt>: <tt><SDKHOME>\gettext-0.13.1</tt> and <tt><SDKHOME>\libiconv-1.9.1</tt> |
</li> | </li> | ||
<li>Apply the <tt>libiconv-1.9.1.diff</tt> patch</li> | <li>Apply the <tt>libiconv-1.9.1.diff</tt> patch</li> | ||
Line 230: | Line 276: | ||
</pre></li> | </pre></li> | ||
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key, substituting <SDKHOME> where appropriate:<br/> | <li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key, substituting <SDKHOME> where appropriate:<br/> | ||
− | |||
<pre> | <pre> | ||
nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MT | nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MT | ||
− | |||
− | |||
nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MT install PREFIX=<SDKHOME>\gettext | nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MT install PREFIX=<SDKHOME>\gettext | ||
− | |||
− | |||
cd ..\gettext-0.13.1 | cd ..\gettext-0.13.1 | ||
− | |||
− | |||
nmake -f Makefile.msvc MFLAGS=-MT PREFIX=<SDKHOME>\gettext | nmake -f Makefile.msvc MFLAGS=-MT PREFIX=<SDKHOME>\gettext | ||
− | |||
− | |||
nmake -f Makefile.msvc MFLAGS=-MT install PREFIX=<SDKHOME>\gettext | nmake -f Makefile.msvc MFLAGS=-MT install PREFIX=<SDKHOME>\gettext | ||
− | |||
− | |||
cd ..\libiconv-1.9.2-src | cd ..\libiconv-1.9.2-src | ||
− | |||
− | |||
nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MT distclean | nmake -f Makefile.msvc NO_NLS=1 MFLAGS=-MT distclean | ||
− | |||
− | |||
nmake -f Makefile.msvc MFLAGS=-MT PREFIX=<SDKHOME>\gettext | nmake -f Makefile.msvc MFLAGS=-MT PREFIX=<SDKHOME>\gettext | ||
− | |||
− | |||
nmake -f Makefile.msvc MFLAGS=-MT install PREFIX=<SDKHOME>\gettext | nmake -f Makefile.msvc MFLAGS=-MT install PREFIX=<SDKHOME>\gettext | ||
</pre></li> | </pre></li> | ||
− | |||
<li>Close the Windows SDK command prompt window</li> | <li>Close the Windows SDK command prompt window</li> | ||
</ol> | </ol> | ||
+ | |} | ||
+ | '''Result''' | ||
− | + | The applications reside in | |
+ | <tt><SDKHOME>\gettext\bin</tt> | ||
+ | |||
+ | The include files reside in | ||
+ | <tt><SDKHOME>\gettext\include</tt> | ||
− | The | + | The libraries reside in |
− | + | <tt><SDKHOME>\gettext\lib</tt> | |
− | |||
=== STLport (64-bit Only) === | === STLport (64-bit Only) === | ||
<ol> | <ol> | ||
− | <li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <SDKHOME></li> | + | <li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li> |
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li> | <li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li> | ||
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/> | <li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/> | ||
Line 290: | Line 323: | ||
</pre></li> | </pre></li> | ||
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/> | <li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/> | ||
− | <pre>configure msvc9 --with-static-rtl | + | <pre>configure msvc9 --with-static-rtl |
− | + | cd build/lib | |
− | + | nmake clean install</pre> | |
</li> | </li> | ||
<li>Close the Windows SDK command prompt window</li> | <li>Close the Windows SDK command prompt window</li> | ||
Line 303: | Line 336: | ||
=== lcms-1.18 (64-bit Only) === | === lcms-1.18 (64-bit Only) === | ||
<ol> | <ol> | ||
− | <li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME><tt></li> | + | <li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li> |
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li> | <li>Apply the <tt>lcms-1.18.diff</tt> patch</li> | ||
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt></li> | <li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt></li> | ||
Line 326: | Line 359: | ||
Both directories may be deleted to save disk space. | Both directories may be deleted to save disk space. | ||
|} | |} | ||
+ | |||
=== libxmi-1.2.1 (64-bit Only) === | === libxmi-1.2.1 (64-bit Only) === | ||
<ol> | <ol> | ||
Line 344: | Line 378: | ||
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.10</tt> to <tt><SDKHOME>\wxWidgets-2.8.10</tt></li> | <li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.10</tt> to <tt><SDKHOME>\wxWidgets-2.8.10</tt></li> | ||
<li>Apply the <tt>wxWidgets-2.8.10.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li> | <li>Apply the <tt>wxWidgets-2.8.10.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li> | ||
− | <li> | + | <li> |
− | + | {| class="wikitable" width="100%" | |
− | + | |- valign="top" | |
− | + | ! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions | |
− | + | ! style="padding:5px; text-align:left" | 64-Bit Directions | |
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual C++ 2008 Express Edition > Visual Studio Tools > Visual Studio 2008 Command Prompt | ||
+ | | style="padding:5px; text-align:left" | <ol> | ||
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li> | <li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li> | ||
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/> | <li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/> | ||
Line 359: | Line 396: | ||
Targeting Windows XP x64 RELEASE | Targeting Windows XP x64 RELEASE | ||
</pre></li> | </pre></li> | ||
− | </ol></li> | + | </ol> |
+ | |}</li> | ||
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.10\build\msw</tt><br/> | <li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.10\build\msw</tt><br/> | ||
Line 372: | Line 410: | ||
</li> | </li> | ||
<li>Enter each of the following two commands without any line break and press the Return key | <li>Enter each of the following two commands without any line break and press the Return key | ||
− | + | {| class="wikitable" | |
− | + | |- valign="top" | |
− | + | ! style="padding:5px; text-align:left" | 32-Bit Directions | |
− | <pre> | + | ! style="padding:5px; text-align:left" | 64-Bit Directions |
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <pre> | ||
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static | nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static | ||
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static | nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static | ||
</pre> | </pre> | ||
− | + | | style="padding:5px; text-align:left" | <pre> | |
− | |||
− | |||
− | <pre> | ||
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static | nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static | ||
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static | nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static | ||
</pre> | </pre> | ||
+ | |} | ||
</li> | </li> | ||
<li>Close the Windows SDK command prompt window</li> | <li>Close the Windows SDK command prompt window</li> | ||
− | <li>(64-bit Only)Rename the folder <tt><SDKHOME>wxWidgets-2.8.10\lib\vc_amd64_lib</tt> to <tt><SDKHOME>wxWidgets-2.8.10\lib\vc_lib</tt> | + | <li>(64-bit Only)Rename the folder <tt><SDKHOME>wxWidgets-2.8.10\lib\vc_amd64_lib</tt> to <tt><SDKHOME>wxWidgets-2.8.10\lib\vc_lib</tt></li> |
</ol> | </ol> | ||
Line 408: | Line 446: | ||
<tt><SDKHOME>\wxWidgets-2.8.10\lib\vc_lib</tt> | <tt><SDKHOME>\wxWidgets-2.8.10\lib\vc_lib</tt> | ||
− | {| class="wikitable | + | {| class="wikitable" |
|- | |- | ||
! style="padding:5px; text-align:left" | Note | ! style="padding:5px; text-align:left" | Note | ||
|- | |- | ||
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories | | style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories | ||
− | + | {| class="wikitable" width="100%" | |
− | + | |- valign="top" | |
− | + | ! style="padding:5px; text-align:left" | 32-Bit | |
− | <ul> | + | ! style="padding:5px; text-align:left" | 64-Bit |
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <ul> | ||
<li><tt><SDKHOME>\wxWidgets-2.8.10\build\msw\vc_mswu</tt></li> | <li><tt><SDKHOME>\wxWidgets-2.8.10\build\msw\vc_mswu</tt></li> | ||
<li><tt><SDKHOME>\wxWidgets-2.8.10\build\msw\vc_mswud</tt></li> | <li><tt><SDKHOME>\wxWidgets-2.8.10\build\msw\vc_mswud</tt></li> | ||
</ul> | </ul> | ||
− | + | | style="padding:5px; text-align:left" | | |
− | |||
− | |||
<ul> | <ul> | ||
<li><tt><SDKHOME>\wxWidgets-2.8.10\build\msw\vc_mswu_amd64</tt></li> | <li><tt><SDKHOME>\wxWidgets-2.8.10\build\msw\vc_mswu_amd64</tt></li> | ||
<li><tt><SDKHOME>\wxWidgets-2.8.10\build\msw\vc_mswud_amd64</tt></li> | <li><tt><SDKHOME>\wxWidgets-2.8.10\build\msw\vc_mswud_amd64</tt></li> | ||
</ul> | </ul> | ||
+ | |} | ||
Both directories may be deleted to save disk space. | Both directories may be deleted to save disk space. | ||
|} | |} | ||
Line 450: | Line 489: | ||
</li> | </li> | ||
<li>Enter the following command without line breaks and press Return key<br/> | <li>Enter the following command without line breaks and press Return key<br/> | ||
− | + | {| class="wikitable" | |
− | + | |- valign="top" | |
− | <pre> | + | ! style="padding:5px; text-align:left" | 32-Bit Directions |
+ | ! style="padding:5px; text-align:left" | 64-Bit Directions | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <pre> | ||
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage | bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage | ||
</pre> | </pre> | ||
Line 462: | Line 504: | ||
</pre> | </pre> | ||
− | + | Since September 2010 Hugin requieres also the boost libraries regex, filesystem, iostream and system, since November 2010 also the boost library signals. If you want to compile this version you need to compile Boost lib with | |
<pre> | <pre> | ||
+ | bjam --with-date_time --with-thread --with-regex --with-filesystem --with-iostreams --with-system --with-signals toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage | ||
+ | </pre> | ||
+ | |||
+ | | style="padding:5px; text-align:left" | <pre> | ||
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage | bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage | ||
</pre> | </pre> | ||
Line 470: | Line 516: | ||
...updated 26 targets... | ...updated 26 targets... | ||
</pre> | </pre> | ||
− | </li> | + | |}</li> |
+ | |||
<li>Close the Windows command prompt window</li> | <li>Close the Windows command prompt window</li> | ||
</ol> | </ol> | ||
Line 531: | Line 578: | ||
<li>Choose Build > Batch Build</li> | <li>Choose Build > Batch Build</li> | ||
<li>Select Build for Project IlmImf with Solution Config <br/> | <li>Select Build for Project IlmImf with Solution Config <br/> | ||
− | + | {| class="wikitable" | |
− | + | |- valign="top" | |
+ | ! style="padding:5px; text-align:left" | 32-Bit | ||
+ | ! style="padding:5px; text-align:left" | 64-Bit | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/> | ||
+ | Solution Config: "Release" with Platform: "Win32" | ||
+ | | style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/> | ||
+ | Solution Config: "Release" with Platform: "x64" | ||
+ | |}</li> | ||
<li>Click Build</li> | <li>Click Build</li> | ||
<li>Close Visual C++ 2008 Express Edition</li> | <li>Close Visual C++ 2008 Express Edition</li> | ||
Line 547: | Line 602: | ||
=== Enblend and Enfuse === | === Enblend and Enfuse === | ||
− | === | + | {| class="wikitable" |
− | <ol> | + | |- valign="top" |
+ | ! style="padding:5px; text-align:left" | 32-Bit Directions | ||
+ | ! style="padding:5px; text-align:left" | 64-Bit Directions | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <ol> | ||
<li>Decompress the file <tt>enblend-enfuse-3.2.zip</tt> to directory <tt><SDKHOME></tt></li> | <li>Decompress the file <tt>enblend-enfuse-3.2.zip</tt> to directory <tt><SDKHOME></tt></li> | ||
</ol> | </ol> | ||
− | + | | style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components: | |
− | |||
− | |||
− | |||
− | = | ||
− | Enblend & Enfuse depend on the following SDK components: | ||
<ul> | <ul> | ||
<li>wxWidgets</li> | <li>wxWidgets</li> | ||
Line 572: | Line 626: | ||
<li>Apply the <tt>enblend-enfuse-3.2.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#Enblend/Enfuse/libxmi]]</li> | <li>Apply the <tt>enblend-enfuse-3.2.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#Enblend/Enfuse/libxmi]]</li> | ||
<li>Open the file <tt><SDKHOME>\enblend-enfuse-3.2\enblend_msvc2008.sln</tt></li> | <li>Open the file <tt><SDKHOME>\enblend-enfuse-3.2\enblend_msvc2008.sln</tt></li> | ||
− | <li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li> | + | <li>Select Release in Solutions Configuration pull-down menu, choose x64 in the Solutions Platform pull-down menu, and then choose Build > Build Solution</li> |
<li>Close Visual C++ 2008 Express Edition</li> | <li>Close Visual C++ 2008 Express Edition</li> | ||
</ol> | </ol> | ||
− | + | |} | |
'''Result''' | '''Result''' | ||
Line 587: | Line 641: | ||
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li> | <li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li> | ||
<li>Choose Build > Batch Build</li> | <li>Choose Build > Batch Build</li> | ||
− | <li>Select Build for Project expat_static with | + | <li>Select Build for Project expat_static with <br/> |
− | + | {| class="wikitable" | |
− | + | |- valign="top" | |
+ | ! style="padding:5px; text-align:left" | 32-Bit | ||
+ | ! style="padding:5px; text-align:left" | 64-Bit | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/> | ||
+ | Solution Config: "Release" with Platform: "Win32" | ||
+ | | style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/> | ||
+ | Solution Config: "Release" with Platform: "x64" | ||
+ | |}</li> | ||
<li>Click Build</li> | <li>Click Build</li> | ||
<li>Close Visual C++ 2008 Express Edition</li> | <li>Close Visual C++ 2008 Express Edition</li> | ||
Line 616: | Line 678: | ||
<li>Decompress the file <tt>exiv2-0.18.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li> | <li>Decompress the file <tt>exiv2-0.18.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li> | ||
<li>Apply the <tt>exiv2-0.18.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li> | <li>Apply the <tt>exiv2-0.18.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li> | ||
− | <li>( | + | <li>(64-bit Only)Apply the <tt>exiv2-0.18.1.x64.diff</tt> patch</li> |
<li>Open solution file <tt><SDKHOME>\exiv2-0.18.1\msvc\exiv2.sln</tt></li> | <li>Open solution file <tt><SDKHOME>\exiv2-0.18.1\msvc\exiv2.sln</tt></li> | ||
<li>In the Solution Explorer, select "exiv2lib"</li> | <li>In the Solution Explorer, select "exiv2lib"</li> | ||
Line 644: | Line 706: | ||
</li> | </li> | ||
</ol> | </ol> | ||
+ | |||
+ | '''Comment''' | ||
+ | |||
+ | When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- valign="top" | ||
+ | ! style="padding:5px; text-align:left" | Source | ||
+ | ! style="padding:5px; text-align:left" | Destination | ||
+ | |- | ||
+ | | style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt> | ||
+ | | style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt> | ||
+ | |- | ||
+ | | style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt> | ||
+ | | style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt> | ||
+ | |} | ||
'''Result''' | '''Result''' | ||
Line 661: | Line 739: | ||
<li>Choose Build > Batch Build</li> | <li>Choose Build > Batch Build</li> | ||
<li>Select Build for Project glew_static with Solution Config <br/> | <li>Select Build for Project glew_static with Solution Config <br/> | ||
− | + | {| class="wikitable" | |
− | + | |- valign="top" | |
+ | ! style="padding:5px; text-align:left" | 32-Bit | ||
+ | ! style="padding:5px; text-align:left" | 64-Bit | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/> | ||
+ | Solution Config: "Release" with Platform: "Win32" | ||
+ | | style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/> | ||
+ | Solution Config: "Release" with Platform: "x64" | ||
+ | |}</li> | ||
<li>Click Build</li> | <li>Click Build</li> | ||
<li>Close Visual C++ 2008 Express Edition</li> | <li>Close Visual C++ 2008 Express Edition</li> | ||
Line 739: | Line 825: | ||
<ol> | <ol> | ||
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li> | <li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li> | ||
− | <li> | + | <li> |
− | <li>To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual C++ 2008 Express Edition > Visual Studio Tools > Visual Studio 2008 Command Prompt</li> | + | {| class="wikitable" |
− | + | |- valign="top" | |
− | </ol | + | ! style="padding:5px; text-align:left" | 32-Bit Directions |
− | + | ! style="padding:5px; text-align:left" | 64-Bit Directions | |
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | <ol><li>To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual C++ 2008 Express Edition > Visual Studio Tools > Visual Studio 2008 Command Prompt</li></ol> | ||
+ | | style="padding: 5px; text-align:left" | <ol> | ||
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li> | <li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li> | ||
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/> | <li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/> | ||
Line 754: | Line 843: | ||
Targeting Windows XP x64 RELEASE | Targeting Windows XP x64 RELEASE | ||
</pre></li> | </pre></li> | ||
− | </ol></li> | + | </ol> |
+ | |} | ||
+ | </li> | ||
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/> | <li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/> | ||
Line 768: | Line 859: | ||
</pre> | </pre> | ||
− | Enter each of the following two commands without any line break and press the Return key. | + | <li>Enter each of the following two commands without any line break and press the Return key. |
− | + | <pre> | |
cscript configure.js ftp=no http=no iconv=no cruntime=/MT | cscript configure.js ftp=no http=no iconv=no cruntime=/MT | ||
− | |||
nmake -f makefile.msvc libxmla | nmake -f makefile.msvc libxmla | ||
</pre> | </pre> | ||
Line 831: | Line 921: | ||
If a dialog appears, which asks to create the build directoy, click Yes.<br/> | If a dialog appears, which asks to create the build directoy, click Yes.<br/> | ||
A dialog appears, where you can specify the generator for the project.</li> | A dialog appears, where you can specify the generator for the project.</li> | ||
− | <li> | + | <li> |
− | + | {| class="wikitable" | |
+ | |- valign="top" | ||
+ | ! style="padding:5px; text-align:left" | 32-Bit Directions | ||
+ | ! style="padding:5px; text-align:left" | 64-Bit Directions | ||
+ | |- valign="top" | ||
+ | | style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers" | ||
+ | | style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers" | ||
+ | |}</li> | ||
<li>Click Finish<br/> | <li>Click Finish<br/> | ||
In the Name and Value list the entries are shown with red background.</li> | In the Name and Value list the entries are shown with red background.</li> | ||
Line 861: | Line 958: | ||
|} | |} | ||
− | [[User:Ryansleevi|Ryan Sleevi]] | + | === Freeglut === |
+ | <ol> | ||
+ | <li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li> | ||
+ | <li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li> | ||
+ | <li>Select "Debug" in the Solution Configuration pull-down menu. </li> | ||
+ | <li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li> | ||
+ | <li>Select "Release" in the Solution Configuration pull-down menu. </li> | ||
+ | <li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li> | ||
+ | <li>Close Visual Studio C++ 2008 Express Edition</li> | ||
+ | </ol> | ||
+ | |||
+ | '''Result''' | ||
+ | |||
+ | The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt> | ||
+ | |||
+ | === GNU Make === | ||
+ | <ol> | ||
+ | <li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li> | ||
+ | <li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm convertion.)</li> | ||
+ | <li>Select "Release" in the Solution Configuration pull-down menu. </li> | ||
+ | <li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li> | ||
+ | <li>Close Visual Studio C++ 2008 Express Edition</li> | ||
+ | <li>Rename the file <tt><SDKHOME>\make-3.81\Release\make_msvc.net2003.exe</tt> to <tt><SDKHOME>\make-3.81\Release\make.exe</tt> | ||
+ | </ol> | ||
+ | |||
+ | '''Result''' | ||
+ | |||
+ | The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt> | ||
+ | |||
+ | (All other files in this directory can be deleted to save space.) | ||
+ | |||
+ | === Templatized C++ Command Line Parser Library (tclap) === | ||
+ | |||
+ | <ol> | ||
+ | <li>Decompress the file <tt>tclap-1.2.0.tar.gz</tt> to directory <tt><SDKHOME>\tclap-1.2.0</tt></li> | ||
+ | </ol> | ||
+ | |||
+ | '''Result''' | ||
+ | |||
+ | The include files reside in | ||
+ | <tt><SDKHOME>\tclap-1.2.0\include\tclap</tt> | ||
+ | |||
+ | |||
+ | [[User:Ryansleevi|Ryan Sleevi]] 17:00, 9 May 2009 (UTC) | ||
[[Category:Software:Hugin]] | [[Category:Software:Hugin]] | ||
+ | [[Category:Software:Hugin:Compiling]] | ||
[[Category:Software:Platform:Windows]] | [[Category:Software:Platform:Windows]] |
Latest revision as of 01:30, 17 July 2011
Hugin depends on different components like libraries and tools, which are not available on a common Windows system. All these components can be combined to a Hugin Software Development Kit (SDK). This article gives step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2008 (MSVC 2008) Express Edition and precompiled dependencies.
While this article is designed for developing a native 32-bit version, additional instructions are provided so that a 64-bit version of the Hugin SDK can be compiled. When appropriate, steps that only apply to the 32-bit or 64-bit versions will be noted as (32-bit) or (64-bit), and you can safely ignore them if you are not targeting that particular version. In order to compile a 64-bit version of the Hugin SDK, one does not need a 64-bit computer. However, if they wish to test or debug the binaries, or for some projects (such as OpenEXR) which execute compiled binaries as part of their build step, this will not necessarily be possible on Win32.
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.
The build steps for each component are written like a walk-through and annotated on the end of each section.
Maybe some of the described tools and packages, especially those fetched from Subversion (SVN) repository, will change over time and/or become obsolete. Hence it is likely that some steps will become invalid or won't work any more.
The SDK is structured, that each component resides in its own subdirectory. This approach is different to other platforms like Linux, where some common directories are available to store include files, libraries and applications. The files of a component are spread over all these directories. Both approaches to structure the files in a file system have its assets and drawbacks.
The base directory of the SDK is denoted as <SDKHOME> in this article. Replace <SDKHOME> by directory name where you store the SDK on your system. In the examples <SDKHOME> is replaced by the directory name D:\usr\src\SDK.
Prerequisites
To build the SDK some tools are required that are listed in the table below. Download the tools and install them. The destination directory of each tool is arbitrary. If you are uncertain, choose the default given in the setup dialog of each tool.
Tool | Description |
---|---|
Microsoft Visual C++ 2008 Express Edition | Compiler, Debugger and IDE Visit Download page If compiling for 64-bit, you will need to enable Express Edition to compile 64-bit projects. |
(x64 Only) Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5 | x64 Compiler, Libraries, and Headers Visit [1] When installing, make sure to include the Visual C++ compilers for x64 (under Developer Tools) and the Header Files and x64 libraries (under Windows Headers and Libraries). Optionally consider installing all of the SDK, as it makes compiling generally easier. |
CMake 2.6.4 (2009-05-05) | Generator of solution and project files for MSVC 2008 Visit Download page or download cmake-2.6.4-win32-x86.exe |
TortoiseSVN 1.6.1.16129 (2009-02-13) | Tool to handle source codes in Subversion repositories Visit Download page or download TortoiseSVN-1.6.1.16129-win32-svn-1.6.1.msi (32-bit) or TortoiseSVN-1.6.1.16129-x64-svn-1.6.1.msi (64-bit) |
TortoiseHg 1.0.4 (2010-06-11) | Tool to handle source codes in Mercurial repositories Visit Download page |
7-Zip 4.65 (2009-02-03) | Tool to decompress the source packages Visit Download page or download 7z465.exe (32-bit) or 7z465-x64.msi (64-bit) |
Java SE Development Kit 6 Update 13 | Java Development Kit (JDK) Visit Download page |
Microsoft HTML Help Workshop | HTML Help Compiler Visit Download page for htmlhelp.exe |
Contents of the Hugin SDK
Precompiled Version (32-bit only)
For those who want to avoid to build the whole SDK from scratch a precompiled SDK is available.
Precompiled Hugin SDK (Win32) |
---|
Hugin-SDK-20090509-win32.exe (76 MiB, 2009-05-09) |
Building from Source
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Subversion repository.
Directory | Description (Website) Download package (Date of the package) | ||||
---|---|---|---|---|---|
autopano-sift-C | Autopano-SIFT-C (http://hugin.sourceforge.net/) Subversion repository https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk | ||||
boost_1_39_0 | Boost C++ libraries 1.39.0 (http://www.boost.org/) boost_1_39_0.7z (2009-02-09) boost-jam-3.1.17-1-ntx86.zip (2008-11-29) | ||||
Deploy OpenEXR |
OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/) ilmbase-1.0.1.tar.gz (2007-10-22) openexr-1.6.1.tar.gz (2007-10-22) | ||||
enblend-enfuse-3.2 | Enblend 3.2 and Enfuse 3.2 (http://enblend.sourceforge.net/)
| ||||
exiftool | ExifTool 7.74 (http://www.sno.phy.queensu.ca/~phil/exiftool) exiftool-7.74.zip (2009-02-17) | ||||
exiv2-0.18.1 | Exiv2 C++ library 0.18 (http://www.exiv2.org/) exiv2-0.18.1.tar.gz (2009-04-06) | ||||
expat-2.0.1 | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/) expat-2.0.1.tar.gz (2007-06-05) | ||||
gettext | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)
| ||||
glew | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/) glew-1.5.1-src.zip (2008-11-03) | ||||
libpano\pano13 | Panorama Tools and pano13 library (http://panotools.sourceforge.net/) Subversion repository https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano | ||||
libxml2-2.7.3 | XML C parser and toolkit (http://www.xmlsoft.org/) libxml2-sources-2.7.3.tar.gz (2009-01-18) | ||||
UnxUtils | GNU utilities ported to win32 platform (http://sourceforge.net/projects/unxutils/) UnxUtils.zip (2007-03-01) | ||||
wxWidgets-2.8.10 | wxWidgets cross-platform GUI C++ framework 2.8.10 (http://www.wxwidgets.org/) wxMSW-2.8.10.zip (2009-03-17) | ||||
Additional files only necessary for building a 64-bit SDK | |||||
Directory | Description (Website) Download package (Date of the package) | ||||
(64-bit) libxmi-1.2-1 | GNU libxmi 2-D rasterization library (Win32 port) (http://gnuwin32.sourceforge.net) libxmi-1.2-1-src.zip (2004-04-16) | ||||
(64-bit) STLport-5.2.1 | STLport Standard Library (http://stlport.sourceforge.net/) STLport-5.2.1.tar.gz (2008-12-10) | ||||
(64-bit) lcms-1.18a | LittleCms Color management library (http://www.littlecms.com) lcms-1.18a.zip (2009-04-19) |
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I applied the approach to describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.
The decompress step of each component contains seemingly inconsistent namings of destination directories, because in some components a subdirectory is specified as destination directory and in some steps only the base directory. This is due to the fact that some package archives contain a base directory and some not. To check the right locations each result section of every component's description contains a summary of the expected files.
The SDK is currently outdated. The following changes are necessary to build Hugin:
Directory | Description (Website) Download package |
---|---|
freeglut_2.6.0 | Freeglut (http://freeglut.sourceforge.net/index.php) freeglut-2.6.0.tar.gz |
make_3.81 | GNU make 3.81 (http://www.gnu.org/software/make/) make-3.81.tar.gz This package replaces UnxUtils. |
Templatized C++ Command Line Parser 1.2.0 | tclap (http://tclap.sourceforge.net/) tclap-1.2.0.tar.gz |
Diff Files
In order to make compilation simple, a series of patch files are included below that contain all the necessary changes, not only to compile the SDK, but to optionally compile an x64 version of the SDK. When directed, you will need to apply the patch file specified. If you are compiling for x64, there may be additional patches you need to apply.
The download link for the patches is https://bugs.launchpad.net/hugin/+bug/679695/+attachment/1741338/+files/hugin_patches.zip
In order to apply a patch, you will first have needed to follow directions for the UnxUtils step. You cannot apply any patches before that step. To apply a patch, follow these directions:
- Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"
- On the Command Prompt, change directory to <SDKHOME>
ExampleC:\Program Files\Microsoft\Windows SDK\v6.1>d: D:>cd \usr\src\SDK D:\usr\src\SDK>
- On the command prompt, enter the following commands without any line breaks and press the Return/Enter key, substituting <SDKHOME> where appropriate:
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin
- On the command prompt, enter the following commands without any line breaks and press the Return/Enter key, substituting <PATCHFILE> with the name of the patch file to apply:
patch -p 0 -i <PATCHFILE>
NOTE: On Vista and later systems, the filename "patch.exe" is a protected file name which will always result in a UAC prompt if the file does not include a manifest (which UnxUtils version does not). This can be worked around by copying the file <SDKHOME>\UnxUtils\usr\local\wbin\patch.exe to another file not containing the name, such as <SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe. Then substitute the command 'patch' in the above command with 'apply_diff'
Result
If everything worked, you should see a list of filenames that were patched. Example
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff patching file 'libiconv-1.9.1/srclib/error.c' D:\usr\src\SDK>
If there was an error, you may wish to consult the Hugin SDK (MSVC 2008) Patches page for instructions on what changes were contained in the patch.
UnxUtils
- Create the directory <SDKHOME>\UnxUtils
- Decompress the file UnxUtils.zip to created directory <SDKHOME>\UnxUtils
Result
The applications reside in <SDKHOME>\UnxUtils\bin and <SDKHOME>\UnxUtils\usr\local\wbin
ExifTool
- Create the directory <SDKHOME>\exiftool
- Decompress the file exiftool-7.74.zip to <SDKHOME>\exiftool
- Rename the file exiftool(-k).exe to exiftool.exe
Result
The application resides in <SDKHOME>\exiftool
GetText
32-Bit Directions | 64-Bit Directions |
---|---|
|
|
Result
The applications reside in <SDKHOME>\gettext\bin
The include files reside in <SDKHOME>\gettext\include
The libraries reside in <SDKHOME>\gettext\lib
STLport (64-bit Only)
- Decompress the file STLport-5.2.1.tar.gz to directory <SDKHOME>
- Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell
- On the command prompt, enter the following command without any line breaks and press the Return/Enter key:
setenv /Release /x64 /xp
It should now refresh and say
Setting SDK environment relative to <path where you installed the SDK> Targeting Windows XP x64 RELEASE
- On the command prompt, change directory to <SDKHOME>\STLport-5.2.1
ExampleC:\Program Files\Microsoft\Windows SDK\v6.1>d: D:>cd \usr\src\SDK\STLport-5.2.1 D:\usr\src\SDK\STLport-5.2.1>
- On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:
configure msvc9 --with-static-rtl cd build/lib nmake clean install
- Close the Windows SDK command prompt window
Result
The libraries reside in <SDKHOME>\STLport-5.2.1\lib
lcms-1.18 (64-bit Only)
- Decompress the file lcms-1.18a.tar.gz to directory <SDKHOME>
- Apply the lcms-1.18.diff patch
- Open the file <SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln
- Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu
- Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms
- Close Visual Studio C++ 2008 Express Edition
Result
The library resides in <SDKHOME>\lcms-1.18\Lib\MS
Note |
---|
During build process temporary object files are stored in following directories
Both directories may be deleted to save disk space. |
libxmi-1.2.1 (64-bit Only)
- Open the file libxmi-1.2-1.src.zip in 7-Zip
- Open the "src" folder by double-clicking
- Open the "libxmi" folder by double-clicking
- Open the "1.2" folder by double-clicking
- Extract "libxmi-1.2" to the directory <SDKHOME>
- Apply the libxmi-1.2.diff patch
Result
The libxmi-1.2 sources now reside in <SDKHOME>\libxmi-1.2
wxWidgets
- Decompress the file wxMSW-2.8.10.zip to directory <SDKHOME>
- Rename the directory <SDKHOME>\wxMSW-2.8.10 to <SDKHOME>\wxWidgets-2.8.10
- Apply the wxWidgets-2.8.10.diff patch Hugin SDK (MSVC 2008) Patches#wxWidgets
-
32-Bit Directions 64-Bit Directions To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual C++ 2008 Express Edition > Visual Studio Tools > Visual Studio 2008 Command Prompt - Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell
- On the command prompt, enter the following command without any line breaks and press the Return/Enter key:
setenv /Release /x64 /xp
It should now refresh and say
Setting SDK environment relative to <path where you installed the SDK> Targeting Windows XP x64 RELEASE
- On command prompt change directory to <SDKHOME>\wxWidgets-2.8.10\build\msw
ExampleC:\Program Files\Microsoft Visual Studio 9.0\VC>d: D:\>cd \usr\src\SDK\wxWidgets-2.8.10\build\msw D:\usr\src\SDK\wxWidgets-2.8.10\build\msw>
- Enter each of the following two commands without any line break and press the Return key
32-Bit Directions 64-Bit Directions nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static
- Close the Windows SDK command prompt window
- (64-bit Only)Rename the folder <SDKHOME>wxWidgets-2.8.10\lib\vc_amd64_lib to <SDKHOME>wxWidgets-2.8.10\lib\vc_lib
Result
The include files reside in <SDKHOME>\wxWidgets-2.8.10\include and its subdirectories
Additional Hugin depends on following files
- <SDKHOME>\wxWidgets-2.8.10\src\jpg\*.h
- <SDKHOME>\wxWidgets-2.8.10\src\jpg\jconfig.vc
- <SDKHOME>\wxWidgets-2.8.10\src\png\*.h
- <SDKHOME>\wxWidgets-2.8.10\src\tiff\*.h
- <SDKHOME>\wxWidgets-2.8.10\src\zlib\*.h
The libraries reside in <SDKHOME>\wxWidgets-2.8.10\lib\vc_lib
Note | ||||
---|---|---|---|---|
During build process temporary object files are stored in following directories
Both directories may be deleted to save disk space. |
Boost
- Decompress the file boost_1_39_0.7z to directory <SDKHOME>
- Decompress the file boost-jam-3.1.17-1-ntx86.zip to an arbitrary directory and copy the application bjam.exe to <SDKHOME>\boost_1_39_0
- To open a Windows command prompt choose Start > Run, then enter cmd.exe and click OK.
- On command prompt change directory to <SDKHOME>\boost_1_39_0
ExampleMicrosoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Dokuments and Settings\Guido>d: D:\>cd \usr\src\SDK\boost_1_39_0 D:\usr\src\SDK\boost_1_39_0>
- Enter the following command without line breaks and press Return key
32-Bit Directions 64-Bit Directions bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage
After bjam.exe finished a statement like the following should be printed in the command prompt window
...updated 56 targets... d:\usr\src\SDK\boost_1_39_0>
Since September 2010 Hugin requieres also the boost libraries regex, filesystem, iostream and system, since November 2010 also the boost library signals. If you want to compile this version you need to compile Boost lib with
bjam --with-date_time --with-thread --with-regex --with-filesystem --with-iostreams --with-system --with-signals toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage
After bjam.exe finished a statement like the following should be printed in the command prompt window
...updated 26 targets...
- Close the Windows command prompt window
Result
The include files reside in <SDKHOME>\boost_1_39_0 and its subdirectory boost
The libraries reside in <SDKHOME>\boost_1_39_0\stage\lib
Notes |
---|
|
OpenEXR
OpenEXR depends on following SDK component:
- wxWidgets
Prepare this component before OpenEXR.
- Create the directory <SDKHOME>\OpenEXR
- Decompress the file ilmbase-1.0.1.tar.gz to created directory <SDKHOME>\OpenEXR
- Decompress the file openexr-1.6.1.tar.gz to the same directory <SDKHOME>\OpenEXR
After decompress there should only exist the two directories ilmbase-1.0.1 and openexr-1.6.1 in <SDKHOME>\OpenEXR - Apply the OpenEXR.diff patch Hugin SDK (MSVC 2008) Patches#OpenEXR
- Open solution file <SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln
- Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution
- Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution
- Open solution file <SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln
- Choose Build > Batch Build
- Select Build for Project IlmImf with Solution Config
32-Bit 64-Bit Solution Config: "Debug" with Platform: "Win32"
Solution Config: "Release" with Platform: "Win32"
Solution Config: "Debug" with Platform: "x64"
Solution Config: "Release" with Platform: "x64"
- Click Build
- Close Visual C++ 2008 Express Edition
Result
The include files reside in <SDKHOME>\Deploy\include
The libraries reside in <SDKHOME>\Deploy\lib\Debug and <SDKHOME>\Deploy\lib\Release
Enblend and Enfuse
32-Bit Directions | 64-Bit Directions |
---|---|
|
Enblend & Enfuse depend on the following SDK components:
Prepare these components before Enblend & Enfuse.
|
Result
The applications reside in <SDKHOME>\enblend-enfuse-3.2
Expat
- Decompress the file expat-2.0.1.tar.gz to directory <SDKHOME>
- Apply the expat-2.0.1.diff patch Hugin SDK (MSVC 2008) Patches#expat
- Open the file <SDKHOME>\expat-2.0.1\Source\expat.sln
- Choose Build > Batch Build
- Select Build for Project expat_static with
32-Bit 64-Bit Solution Config: "Debug" with Platform: "Win32"
Solution Config: "Release" with Platform: "Win32"
Solution Config: "Debug" with Platform: "x64"
Solution Config: "Release" with Platform: "x64"
- Click Build
- Close Visual C++ 2008 Express Edition
Result
The include files reside in <SDKHOME>\expat-2.0.1\lib
The libraries reside in <SDKHOME>\expat-2.0.1\win32\bin\Debug and <SDKHOME>\expat-2.0.1\win32\bin\Release
Exiv2
Exiv2 depends on following SDK components:
- wxWidgets
- GetText
- Expat
Prepare these components before Exiv2.
- Decompress the file exiv2-0.18.1.tar.gz to directory <SDKHOME>
- Apply the exiv2-0.18.1.diff patch Hugin SDK (MSVC 2008) Patches#exiv2
- (64-bit Only)Apply the exiv2-0.18.1.x64.diff patch
- Open solution file <SDKHOME>\exiv2-0.18.1\msvc\exiv2.sln
- In the Solution Explorer, select "exiv2lib"
- Select Debug in Solutions Configuration pull-down menu and your platform in the Solution Platform pull-down menu, and then choose Build > Build exiv2lib
- Select Release in Solutions Configuration pull-down menu and your platform in the Solution Platform pull-down menu, and then choose Build > Build exiv2lib
- Close Visual C++ 2008 Express Edition
- Create the directory <SDKHOME>\exiv2-0.18.1\msvc\lib
- Copy the following files to this directory and rename them as specified in Destination column.
Source Destination <SDKHOME>\exiv2-0.18.1\msvc\bin\Debug\exiv2.lib <SDKHOME>\exiv2-0.18.1\msvc\lib\exiv2d.lib <SDKHOME>\exiv2-0.18.1\msvc\bin\Release\exiv2.lib <SDKHOME>\exiv2-0.18.1\msvc\lib\exiv2.lib <SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib <SDKHOME>\exiv2-0.18.1\msvc\lib\libexpatd.lib <SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib <SDKHOME>\exiv2-0.18.1\msvc\lib\libexpat.lib
Comment
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:
Source | Destination |
---|---|
<SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib | <SDKHOME>\exiv2-0.19\msvc\lib\xmpsdkd.lib |
<SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib | <SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib |
Result
The include files reside in <SDKHOME>\exiv2-0.18.1\msvc\include
The libraries reside in <SDKHOME>\exiv2-0.18.1\msvc\lib
GLEW
- Decompress the file glew-1.5.1-src.zip to directory <SDKHOME>
- Apply the glew.diff patch Hugin SDK (MSVC 2008) Patches#glew
- Open the file <SDKHOME>\glew\build\vc6\glew.sln
- Choose Build > Batch Build
- Select Build for Project glew_static with Solution Config
32-Bit 64-Bit Solution Config: "Debug" with Platform: "Win32"
Solution Config: "Release" with Platform: "Win32"
Solution Config: "Debug" with Platform: "x64"
Solution Config: "Release" with Platform: "x64"
- Click Build
- Close Visual C++ 2008 Express Edition
Result
The include files reside in <SDKHOME>\glew\include
The libraries reside in <SDKHOME>\glew\lib
Note |
---|
The GLEW include files are typically included by a statement like #include "GL/glew.h" Therefore the base directory of the GLEW include files is <SDKHOME>\glew\include |
Panorama Tools
Panorama Tools depends on following SDK component:
- wxWidgets
Prepare this component before Panoroma Tools.
- Set two windows environment variables:
- Set variable WXWIDGETS_HOME to wxWidgets base folder <SDKHOME>\wxWidgets-2.8.10
- Set variable JDK_HOME to Java SE Development Kit's destination directory name. This directory name was shown during the setup, e.g. C:\Program Files\Java\jdk1.6.0_13
To take effect on changes of environment variables you may have to logout and login.
- Create the directory <SDKHOME>\libpano\pano13
- In explorer right-click on created directory <SDKHOME>\libpano\pano13 , and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.
- In "URL of repository" field enter following address:
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano
- Click OK
- After checkout has finished click OK
- Apply the libpano.diff patch Hugin SDK (MSVC 2008) Patches#Panorama Tools
- Open solution file <SDKHOME>\libpano\pano13\libpano.sln
- Select your platform in the Solution Platform pull-down menu
- Select "Debug LIB CMD" in Solution Configuration pull-down menu
- Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13
- Select "Release LIB CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution
- Close Visual C++ 2008 Express Edition
Result
The applications reside in <SDKHOME>\libpano\pano13\tools\Release
The include files reside in <SDKHOME>\libpano\pano13
The libraries reside in "<SDKHOME>\libpano\pano13\Debug LIB CMD" and "<SDKHOME>\libpano\pano13\Release LIB CMD"
Note |
---|
The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration. |
libxml2
- Decompress the file libxml2-sources-2.7.3.tar.gz to directory <SDKHOME>
-
32-Bit Directions 64-Bit Directions - To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual C++ 2008 Express Edition > Visual Studio Tools > Visual Studio 2008 Command Prompt
- Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell
- On the command prompt, enter the following command without any line breaks and press the Return/Enter key:
setenv /Release /x64 /xp
It should now refresh and say
Setting SDK environment relative to <path where you installed the SDK> Targeting Windows XP x64 RELEASE
- On command prompt change directory to <SDKHOME>\libxml2-2.7.3\win32
ExampleSetting environment for using Microsoft Visual Studio 2008 x86 tools. C:\Program Files\Microsoft Visual Studio 9.0\VC>d: D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 D:\usr\src\SDK\libxml2-2.7.3\win32>
- Enter each of the following two commands without any line break and press the Return key.
cscript configure.js ftp=no http=no iconv=no cruntime=/MT nmake -f makefile.msvc libxmla
Result
The include files reside in <SDKHOME>\libxml2-2.7.3\include
The libraries reside in <SDKHOME>\libxml2-2.7.3\win32\bin.msvc
Notes |
---|
|
autopano-sift-C
Autopano-SIFT-C depends on following SDK components:
- libxml2
- Panorama Tool's pano13 library
- wxWidgets
Prepare these components before Autopano-SIFT-C.
- Create the directory <SDKHOME>\autopano-sift-C-trunk
- In explorer right-click on created directory <SDKHOME>\autopano-sift-C-trunk, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.
- In "URL of repository" field enter following address:
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk
- Click OK
- After checkout has finished click OK
- Start CMake (cmake-gui). The CMake dialog appears.
- In "Where is the source code" field enter
<SDKHOME>\autopano-sift-C-trunk
Alternatively click Browse Source to point to this directory - In "Where to build the binaries" field enter
<SDKHOME>\autopano-sift-C
- Click Configure
If a dialog appears, which asks to create the build directoy, click Yes.
A dialog appears, where you can specify the generator for the project. -
32-Bit Directions 64-Bit Directions Select "Visual Studio 9 2008" and select option "Use default native compilers" Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers" - Click Finish
In the Name and Value list the entries are shown with red background. - Click Configure
- Click Generate
- Close CMake
- Open solution file <SDKHOME>\autopano-sift-C\autopano-sift-C.sln
- Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution
- Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL
- Close Visual C++ 2008 Express Edition
- Copy the directories bin and shared from <SDKHOME>\autopano-sift-C\INSTALL\FILES to <SDKHOME>\autopano-sift-C
Result
The applications reside in <SDKHOME>\autopano-sift-C\bin
The manual pages reside in <SDKHOME>\autopano-sift-C\shared
Note |
---|
To save disk space you may delete all files and directories in <SDKHOME>\autopano-sift-C, except the subdirectories bin and shared. |
Freeglut
- Decompress the file freeglut-2.6.0.tar.gz to directory <SDKHOME>
- Open the file <SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln
- Select "Debug" in the Solution Configuration pull-down menu.
- Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut
- Select "Release" in the Solution Configuration pull-down menu.
- Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut
- Close Visual Studio C++ 2008 Express Edition
Result
The library resides in <SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug and <SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release
GNU Make
- Decompress the file make-3.81.tar.gz to directory <SDKHOME>
- Open the file <SDKHOME>\make-3.81\make_msvc_net2003.sln (Confirm convertion.)
- Select "Release" in the Solution Configuration pull-down menu.
- Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project
- Close Visual Studio C++ 2008 Express Edition
- Rename the file <SDKHOME>\make-3.81\Release\make_msvc.net2003.exe to <SDKHOME>\make-3.81\Release\make.exe
Result
The executable make.exe resides in <SDKHOME>\make-3.81\Release\
(All other files in this directory can be deleted to save space.)
Templatized C++ Command Line Parser Library (tclap)
- Decompress the file tclap-1.2.0.tar.gz to directory <SDKHOME>\tclap-1.2.0
Result
The include files reside in <SDKHOME>\tclap-1.2.0\include\tclap
Ryan Sleevi 17:00, 9 May 2009 (UTC)