https://wiki.panotools.org/api.php?action=feedcontributions&user=Mpetroff&feedformat=atomPanoTools.org Wiki - User contributions [en]2024-03-29T15:27:29ZUser contributionsMediaWiki 1.35.3https://wiki.panotools.org/index.php?title=Panorama_Viewers&diff=15637Panorama Viewers2014-09-05T02:19:13Z<p>Mpetroff: /* Free */ Updated Pannellum information.</p>
<hr />
<div>There are basically three types of viewers for spherical panoramas:<br />
* [[Java]] based Viewers run on any platform that supports [[Java]].<br />
* Plugin based viewers require a plugin ([[Quicktime]], [[Shockwave]]) to run and might be platform specific.<br />
* Stand alone viewers that are executables for a specific platform. Unlike Java and plugin-based viewers these are not meant for use within web pages.<br />
<br />
== Java based Viewers ==<br />
=== Free ===<br />
* [[PTViewer]] was the first Java viewer. It was developed originally by [[Helmut Dersch]] and is now [[PTViewer 2.7L2|maintained and enhanced]] by [[Fulvio Senore]]<br />
<br />
* [http://www.panorado.com/ Panorado Applet] is a Java viewer applet. It only shows a "flat" view but it is fast, so it is suited for larger images where the normal immersive-style warping isn't needed.<br />
<br />
* [http://www.immervision.com/en/multimedia/multimedia_products/multimedia_products_2_2.php PURE Player for Java] (by ImmerVision) is a Java viewer applet that supports cylindrical, spherical and cubic panoramic images.<br />
<br />
* [http://www.immervision.com/en/multimedia/multimedia_products/multimedia_products_2_3.php PURE Player for PRO Java] (by ImmerVision) is a free Java viewer applet that supports cylindrical, spherical and cubic panoramic images. It also supports user interfaces.<br />
<br />
=== Commercial ===<br />
There are some commercial [[Java]] based viewers. Most of them are either a [[PTViewer]] clone or less functional.<br />
<br />
== Plugin based Viewers ==<br />
<br />
=== Free ===<br />
<br />
* [[Quicktime]] is available for Apple Macintosh and Windows. Requires panorama in [[QTVR]] movie format. ([[PanoCube]] or [[Pano2QTVR]] convert from equirectangular to .mov on Windows)<br />
<br />
* [[freepv]] is an open source cross-platform viewer for [[QTVR]] and other panorama formats.<br />
<br />
* [[DevalVR]] is a Windows browser plugin that displays both cubic QuickTime-VR panoramas in [[QTVR]] movie format panoramas. See http://www.devalvr.com/ for details.<br />
<br />
* [[PangeaVR]] is a Mac OS X browser plugin that displays both cubic QuickTime-VR panoramas in [[QTVR]] movie format and equirectangular (spherical) [[JPEG]] panoramas. See http://www.pangeasoft.net/pano/plugin/pangeavr.html for details.<br />
<br />
=== Commercial ===<br />
<br />
* There are no known commercial plugins for standard web delivery of panoramas<br />
<br />
== Flash or Shockwave based Viewers ==<br />
<br />
=== Free ===<br />
* [[CuTy]] is a tiny, dedicated viewer for (single node, JPEG encoded, cubic) QTVR .mov files based for Flash Player 10 and newer. Its functionality is deliberately kept minimal.<br />
<br />
* [[pan0]] is an open source, Flash 9 based player for panoramas in equirectangular format. The application was formely known as "fspp". See http://pan0.net/page.php?page=pan0 for details.<br />
<br />
* [[PanoSalado]] is an '''open source''' Flash 10 and Flex based viewer for cubic, equirectangular (spherical), cylindrical and QTVR panoramas. It handles multi-resolution tiled panoramas, and '''playback of panoramic video''' in common projections. It supports 2D & 3D hotspots, audio, video, and being extended via XML or directly via Actionscript (AS3) and/or MXML. See PanoSalado's [http://sourceforge.net/apps/wordpress/panosalado/ blog], download source and examples from the [http://os.ivrpa.org/panosalado/downloads IVRPA] repository and access the [http://os.ivrpa.org/panosalado/downloads API].<br />
<br />
* [http://panozona.com/wiki/SaladoPlayer:Quick_start Salado Player] is a fork from PanoSalado created in 2010. SaladoPlayer features configuration via xml files and additional modules, along with a module api.<br />
<br />
* [http://www.immervision.com/en/multimedia/multimedia_products/multimedia_products_2_4.php PURE Player for Flash] is a free Flash 9 based player that supports cylindrical, spherical and cubic panoramas.<br />
<br />
* [[SPi-V]] is a very sophisticated and smooth viewer based on Macromedia [[Shockwave]] that handles panoramas completely in graphics card memory (free version with logo).<br />
<br />
* [[Syborg Rooms]] can connect multiple panoramas and enrich the expierence with videos, images and text. Rooms are build with Syborg Architect - an easy graphical interface. It supports iPhone and iPad as well.<br />
<br />
=== Commercial ===<br />
<br />
* The [http://flashpanoramas.com/player/ Flash Panorama Player] is a cross-platform viewer that displays [[QTVR]] movies as well as equirectangular (spherical) and cylindrical panoramas. Cube faces and stripes can also be handled. It supports SWF-plugins to extend its functionality (for example to integrate distorted FLV-movies as hotspots).<br />
<br />
* [http://gardengnomesoftware.com/pano2vr Pano2VR] (formerly [[Pano2QTVR]]) creates Flash 9 and Flash 10-compatible SWF files with included spherical viewer. It also creates QuickTime VR content and can output images in a number of different projections including equirect and cubefaces.<br />
<br />
* [http://krpano.com/ KRPano] is a Flash 9 & 10 & HTML5 based panorama viewer with a wide range of configuration options. These include different projections such as stereographic ('little planet'), fisheye, Vedutismo, and 'architectural'. It can handle cubefaces, equirects and QTVR .mov files, and it can embed other media including audio and FLV videos into panoramas.<br />
<br />
== Online Services ==<br />
<br />
* [[Virtual Tour Architect]] allows users to create virtual tours with panorama images. The tours are displayed as flash (PC) and html5 (iPhone, iPad). The tours are created very fast through a very easy-to-use interface. It is based on [[Syborg Rooms]].<br />
<br />
<br />
<br />
== HTML5 based Viewers ==<br />
<br />
=== Free ===<br />
<br />
* [[Syborg Rooms]] exports virtual tours in flash and html5. Based on the users device the export shows the supported format.<br />
* [http://www.vrhabitat.com/#vr5 VR5 Pano Viewer]. You need to prepare the images to him (cube faces in 2 resolutions. Can redirect to your standard player in case the browser is not on an iPad/iPhone.<br />
* [http://pannellum.org/ Pannellum] Very lightweight HTML 5 open source viewer featuring embedding support, configuration using URL parameters, title and author information, multiresolution support, and full screen support among other things.<br />
* [http://leandigo.github.io/leanorama/ Leanorama]. A free and open source viewer for Webkit browsers (Chrome, Safari, iPad, iPhone, Android 3+). Allows simple definition of virtual tours in JavaScript. Documentation and download on [https://github.com/leandigo/leanorama GitHub]<br />
<br />
=== Commercial ===<br />
<br />
* [[Syborg Rooms]] Pro Version<br />
* [http://krpano.com/ KRPano] is a Flash 9 & 10 & HTML5 based panorama viewer with a wide range of configuration options. These include different projections such as stereographic ('little planet'), fisheye, Vedutismo, and 'architectural'. It can handle cubefaces, equirects and QTVR .mov files, and it can embed other media including audio and FLV videos into panoramas.<br />
<br />
== Stand alone Viewers ==<br />
<br />
* [[FSPViewer]] is a free hardware accelerated stand alone viewer by [[Fulvio Senore]] (Windows only).<br />
<br />
* [[panoglview]] is an Open Source hardware accelerated stand alone viewer for [[Equirectangular Projection]] images (Windows, Linux and OS X).<br />
<br />
* <strike>panoviewer</strike> is an Open Source stand-alone viewer now superceded by [[panoglview]] (Windows, Linux).<br />
<br />
* [[PTViewer]], the original standalone viewer created by [[Helmut Dersch]] in C for X-Windows available from one of the [[mirrors]] (Linux) or the 3.2 version in compiled Java from [http://webuser.fh-furtwangen.de/~dersch/ his page] (Windows).<br />
<br />
* [[Quicktime]] also works as a standalone viewer (Windows, Mac).<br />
<br />
* [[DevalVR]] has a stand alone version, too (Windows).<br />
<br />
* [[freepv]] is a standalone hardware accelerated [[QTVR]] viewer as well as a plugin.<br />
<br />
* [http://groups.google.com/group/panini-support/web/panini-0-71-tips-and-tricks Panini] is an open source panoramic image viewer and perspective tool for all Qt platforms, including Linux, Windows, OSX. It can display files in many panoramic formats. Your video driver must support OpenGL version 1.5, 2.0 for full functionality. Get Panini at [http://sourceforge.net/projects/pvqt/ sf.net/projects/pvqt], [[Build Panini on MacOSX|build on OS X]] or [[Build Panini on Other Unixes|build on other unixes]].<br />
<br />
* [http://www.panorado.com Panorado] is a full-featured image viewer/browser supporting panoramas (JPEG & QTVR). Shareware. (Windows)<br />
<br />
* [http://www.immervision.com/en/multimedia/multimedia_products/multimedia_products_2_6.php PURE Player for Windows] is a free standalone version of PURE Player viewer for Windows OS that supports cylindrical, spherical and cubic panoramas.<br />
<br />
* [http://www.cubeworld.org/ CubeWorld] for iPhone and iPod Touch is a free app that plays cubeface-based panoramas (max 1024px cubefaces) using OpenGL. It can store panoramas locally for offline viewing.<br />
<br />
* [http://www.itunes.com/apps/ipano iPano] for iPhone and iPad, awesome pano viewing app. Lets you keep a high res portfolio (8192 x 4096).<br />
<br />
* [http://www.pangeasoft.net/pano/pangeavr/index.html PangeaVR] for iPad, iPhone and iPod Touch is an app that plays panoramas (max. 2048x1024px equirects on iPhone/iPod, 4096x2048 on iPad) using OpenGL. The standard version of PangeaVR is free, the Pro version (which can store panoramas locally for offline viewing) costs $5.99.<br />
<br />
* [http://panobender.atspace.com/ PanoBender] for Windows CE is a free standalone viewer for JPEG images of equirectangular and cylindrical panoramas.<br />
<br />
* [[SPi-V]] is also [http://fieldofview.com/spv-dev/downloads available as stand alone viewer] (requires [[Shockwave]] plugin) (Windows, OS X).<br />
<br />
* [https://play.google.com/store/apps/details?id=com.adec.apps.release.panpro PPV360HD] (aka Professional Panoramic Viewer 360 HD) is a commercial full-featured Android (from 2.0) App by Andridea (author is Andrea de Carolis) to view Panorama up to 2.27GigaPixel (max 65000x32000) on tablets/smartphones with Kinetic Rotation, full pinch and zoom, tagging. Take a jpeg (equirectangular/cylindrical, full or semi panoramic) and processes it with its own multi-tiles generator, and view them offline with its hardware accelerated 3d viewer. User can change FOV, vert/horiz degree and many options ([https://sites.google.com/site/andrewdc09/Software/ppv360hd developer site]). There'is also a [https://play.google.com/store/apps/details?id=com.adec.apps.release.pandemo free demo] available, with some limitations. Developers offer the possibility to build Virtual Tour App.<br />
<br />
[[Category:Software:Platform:Linux]]<br />
[[Category:Software:Platform:Mac OS X]]<br />
[[Category:Software:Platform:Windows]]<br />
[[Category:Software:Platform:Mobile/PDA]]<br />
<br />
== External Links ==<br />
<br />
* http://www.panoramaphotographer.com/comparisons/ shows working examples of a large number of different web-based panorama players.</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=15550Hugin SDK (MSVC 2010)2013-09-29T17:32:11Z<p>Mpetroff: /* Building from Source */ Updated sources</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Mercurial repository<br/><br />
<tt>http://hugin.hg.sourceforge.net:8000/hgroot/hugin/autopano-sift-C</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br/> 2011: With a working cpfind this is not necessary any more.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.1.1</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.1.1 and Enfuse 4.1.1 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://sourceforge.net/projects/enblend/files/enblend-enfuse/enblend-enfuse-4.1/enblend-enfuse-4.1.1-win32.zip/download <tt>enblend-enfuse-4.1.1-win32.zip</tt>] (2013-02-15)<br />
| style="padding:5px; text-align:left" | [http://sourceforge.net/projects/enblend/files/enblend-enfuse/enblend-enfuse-4.1/enblend-enfuse-4.1.1-win64.zip/download <tt>enblend-enfuse-4.1.1-win64.zip</tt>] (2013-02-15)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 9.37 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-9.37.zip <tt>exiftool-9.37.zip</tt>] (2013-09-14)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>[http://sourceforge.net/projects/panotools/files/libpano13/libpano13-2.9.18/libpano13-2.9.18.tar.gz/download <tt>libpano13-2.9.18.tar.gz</tt>] 2011-05-02<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(autopano-sift-c only) libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (inutile si cygwin est installé) Utilitaires GNU portés sur plateforme Windows 32 bits (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Templatized C++ Command Line Parser 1.2.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>GLib</tt><br />
| style="padding:5px; text-align:left" | glib libary from GTK+ (http://www.gtk.org/)<br/> [http://www.gtk.org/download/win32.php <tt> Download site</tt>] <br/>I don't know, if the precompiled version work with lensfun/Hugin. Use the [http://ftp.gnome.org/pub/gnome/sources/glib/2.28/glib-2.28.8.tar.bz2 source distribution.]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Lensfun</tt><br />
| style="padding:5px; text-align:left" | lensfun library for reading/writing to lens database (http://lensfun.berlios.de/)<br/> [http://prdownload.berlios.de/lensfun/lensfun-0.2.7.tar.bz2 <tt>lensfun-0.2.7.tar.bz2</tt>] (2013-02-10)<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18</tt> <br />
| style="padding:5px; text-align:left" | LittleCms Color management library (http://www.littlecms.com)<br/> [http://sourceforge.net/projects/lcms/files/lcms/1.18/lcms-1.18a.zip/download <tt>lcms-1.18a.zip</tt>] (2009-04-19)<br/><br />
2.0 has been released, but will require code updates to enblend.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building Hugin Setup (NSIS Installer)<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>NSIS</tt> <br />
| style="padding:5px; text-align:left" | Nullsoft Scriptable Install System (http://nsis.sourceforge.net/)<br/> [http://prdownloads.sourceforge.net/nsis/nsis-2.46-setup.exe?download <tt>nsis-2.46-setup.exe</tt>] (2009-12-06)<br/><br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
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]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
This indicates that the compiler didn't like the declaration on line 158 of <SDKHOME>\STLport-5.2.1\stlport\stl\_cstdlib.h - comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_43_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_43_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only a subset of the Boost libraries, thus only these required libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Allow conversion to proceed.</li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set one windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Add to pano13: sys_compat_win.c<br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
Note: required by autopano-sift-c only, not by enblend or hugin. Untested and unchanged from MSVC 2008 version because autopano-sift-c untested.<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Note: Untested and unchanged from MSVC 2008 version because of patent restrictions for U.S.-based author ([[User:Helser|Aron Helser]]).<br/><br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
=== Templatized C++ Command Line Parser Library (tclap) ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>tclap-1.2.0.tar.gz</tt> to directory <tt><SDKHOME>\tclap-1.2.0</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\tclap-1.2.0\include\tclap</tt><br />
<br />
=== Glib library ===<br />
<br />
Needed by the lensfun library<br />
<br />
<ol><br />
<li> Decompress the file <tt>glib-2.28.8.tar.bz2</tt> to directory <tt><SDKHOME>\glib-2.28.8</tt></li><br />
<li> Open project file in <tt>glib\2.28.8\build\win32\vs10\</tt> </li><br />
<li> Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li> '''64-bit only:''' Select "x64" in the Platform pull-down menu. </li><br />
<li> Do the following modifications: <br />
<ul><br />
<li> Remove the projects glib-compile-schemas, glib-genmarshal, gsettings, gspawn-win32-helper, gspawn-win32-helper-console and testglib. They are not needed. </li><br />
<li> Change type to "static libary (.lib)" for all projects.</li><br />
<li> Change run-time library to "Multi-threaded /MT" for all projects.</li><br />
<li> Project gio: Replace preprocessor _USRDLL directive with GIO_STATIC_COMPILATION</li><br />
<li> Project glib, gmodule, gthread: Replace preprocessor _USRDLL directive with GLIB_STATIC_COMPILATION</li><br />
<li> Project gobject: Replace preprocessor _USRDLL directive with GOBJECT_STATIC_COMPILATION</li><br />
<li> Start building. It will create some config file and will then fail with error messages regarding intl.h </li><br />
<li> Open <tt><SDKHOME>\glib-2.28.8\config.h</tt>, comment out line 29: <tt> // #define ENABLE_NLS 1 </tt> </li><br />
<li> Project gio: Add path to zlib includes in wxWidgets to search path: <SDKHOME>\wxWidgets-x.x.x\src\zlib </li><br />
<li> '''64-bit only:''' Change target machine to "MachineX64 (/MACHINE:X64)" for all projects. </li><br />
<li> Open menu <tt>View, Properties manager</tt> and expand INSTALL project, go to Release|Win32; glib.props; select properties, in User macros change <tt>CopyDir</tt> and <tt>GlibEtcInstallRoot</tt> from <tt>..\..\..\..\..\vs10\$(Platform)</tt> to <tt>..\..\..\</tt><br />
<li> Build target INSTALL </li><br />
</ul><br />
</li><br />
<li> Copy the all lib files from <tt><SDKHOME>\glib-2.28.8\build\Win32\vs10\Release\Win32\bin</tt> (for 64-bit version in <tt><SDKHOME>\glib-2.28.8\build\Win32\vs10\Release\x64\bin</tt>) and <tt><SDKHOME>\glib-2.28.8\lib</tt>.</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in <tt><SDKHOME>\glib-2.28.8\include</tt>, the libraries in <tt><SDKHOME>\glib-2.28.8\lib</tt><br />
<br />
=== Lensfun library ===<br />
<br />
<ol><br />
<li> Pull from subversion: svn://svn.berlios.de/lensfun to <tt><SDKHOME>\lensfun-svn</tt> </li><br />
<ul><br />
<li> In Explorer go to <tt><SDKHOME></tt>, open context menu (right mouse button), select "SVN Checkout", give URL: <tt>svn://svn.berlios.de/lensfun</tt> and path <tt><SDKHOME>\lensfun-svn</tt> </li><br />
</ul><br />
<li> Build library with CMake <br />
<ul><br />
<li> Start CMake-GUI </li><br />
<li> Point "Where is the source code:" to <tt><SDKHOME>\lensfun-svn</tt> </li><br />
<li> Point "Where to build:" to <tt><SDKHOME>\build-lensfun</tt> </li><br />
<li> Click Configure and select "Visual Studio 10" (or "Visual Studio 10 Win64" for 64-bit) </li><br />
<li> Set option <tt>BUILD_STATIC</tt> to on/TRUE </li><br />
<li> Check <tt>GLIB2_BASE_DIR</tt> and set to your GLIB2 directory. </li><br />
<li> Click Configure again, then Generate </li><br />
</ul><br />
</li><br />
<li> Open generated project file lensfun.sln in <tt><SDKHOME>\build-lensfun</tt>, select "Release" in the Solution Configuration pull-down menu and build target INSTALL </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
All necessary files reside in <tt><SDKHOME>\lensfun</tt><br />
<br />
=== Nullsoft Scriptable Install System (NSIS) ===<br />
Note: Only needed to build Hugin Setup installer<br />
<ol><br />
<li>Run the NSIS installer, <tt>nsis-2.46-setup.exe</tt>, installing to the default location.</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
NSIS should be installed to <tt><DRIVE>\Program Files\NSIS</tt><br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Hugin:Compiling]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Panorama_Viewers&diff=15547Panorama Viewers2013-09-26T21:16:51Z<p>Mpetroff: /* Free */ Spelling</p>
<hr />
<div>There are basically three types of viewers for spherical panoramas:<br />
* [[Java]] based Viewers run on any platform that supports [[Java]].<br />
* Plugin based viewers require a plugin ([[Quicktime]], [[Shockwave]]) to run and might be platform specific.<br />
* Stand alone viewers that are executables for a specific platform. Unlike Java and plugin-based viewers these are not meant for use within web pages.<br />
<br />
== Java based Viewers ==<br />
=== Free ===<br />
* [[PTViewer]] was the first Java viewer. It was developed originally by [[Helmut Dersch]] and is now [[PTViewer 2.7L2|maintained and enhanced]] by [[Fulvio Senore]]<br />
<br />
* [http://www.panorado.com/ Panorado Applet] is a Java viewer applet. It only shows a "flat" view but it is fast, so it is suited for larger images where the normal immersive-style warping isn't needed.<br />
<br />
* [http://www.immervision.com/en/multimedia/multimedia_products/multimedia_products_2_2.php PURE Player for Java] (by ImmerVision) is a Java viewer applet that supports cylindrical, spherical and cubic panoramic images.<br />
<br />
* [http://www.immervision.com/en/multimedia/multimedia_products/multimedia_products_2_3.php PURE Player for PRO Java] (by ImmerVision) is a free Java viewer applet that supports cylindrical, spherical and cubic panoramic images. It also supports user interfaces.<br />
<br />
=== Commercial ===<br />
There are some commercial [[Java]] based viewers. Most of them are either a [[PTViewer]] clone or less functional.<br />
<br />
== Plugin based Viewers ==<br />
<br />
=== Free ===<br />
<br />
* [[Quicktime]] is available for Apple Macintosh and Windows. Requires panorama in [[QTVR]] movie format. ([[PanoCube]] or [[Pano2QTVR]] convert from equirectangular to .mov on Windows)<br />
<br />
* [[freepv]] is an open source cross-platform viewer for [[QTVR]] and other panorama formats.<br />
<br />
* [[DevalVR]] is a Windows browser plugin that displays both cubic QuickTime-VR panoramas in [[QTVR]] movie format panoramas. See http://www.devalvr.com/ for details.<br />
<br />
* [[PangeaVR]] is a Mac OS X browser plugin that displays both cubic QuickTime-VR panoramas in [[QTVR]] movie format and equirectangular (spherical) [[JPEG]] panoramas. See http://www.pangeasoft.net/pano/plugin/pangeavr.html for details.<br />
<br />
=== Commercial ===<br />
<br />
* There are no known commercial plugins for standard web delivery of panoramas<br />
<br />
== Flash or Shockwave based Viewers ==<br />
<br />
=== Free ===<br />
* [[CuTy]] is a tiny, dedicated viewer for (single node, JPEG encoded, cubic) QTVR .mov files based for Flash Player 10 and newer. Its functionality is deliberately kept minimal.<br />
<br />
* [[pan0]] is an open source, Flash 9 based player for panoramas in equirectangular format. The application was formely known as "fspp". See http://pan0.net/page.php?page=pan0 for details.<br />
<br />
* [[PanoSalado]] is an '''open source''' Flash 10 and Flex based viewer for cubic, equirectangular (spherical), cylindrical and QTVR panoramas. It handles multi-resolution tiled panoramas, and '''playback of panoramic video''' in common projections. It supports 2D & 3D hotspots, audio, video, and being extended via XML or directly via Actionscript (AS3) and/or MXML. See PanoSalado's [http://sourceforge.net/apps/wordpress/panosalado/ blog], download source and examples from the [http://os.ivrpa.org/panosalado/downloads IVRPA] repository and access the [http://os.ivrpa.org/panosalado/downloads API].<br />
<br />
* [http://panozona.com/wiki/SaladoPlayer:Quick_start Salado Player] is a fork from PanoSalado created in 2010. SaladoPlayer features configuration via xml files and additional modules, along with a module api.<br />
<br />
* [http://www.immervision.com/en/multimedia/multimedia_products/multimedia_products_2_4.php PURE Player for Flash] is a free Flash 9 based player that supports cylindrical, spherical and cubic panoramas.<br />
<br />
* [[SPi-V]] is a very sophisticated and smooth viewer based on Macromedia [[Shockwave]] that handles panoramas completely in graphics card memory (free version with logo).<br />
<br />
* [[Syborg Rooms]] can connect multiple panoramas and enrich the expierence with videos, images and text. Rooms are build with Syborg Architect - an easy graphical interface. It supports iPhone and iPad as well.<br />
<br />
=== Commercial ===<br />
<br />
* The [http://flashpanoramas.com/player/ Flash Panorama Player] is a cross-platform viewer that displays [[QTVR]] movies as well as equirectangular (spherical) and cylindrical panoramas. Cube faces and stripes can also be handled. It supports SWF-plugins to extend its functionality (for example to integrate distorted FLV-movies as hotspots).<br />
<br />
* [http://gardengnomesoftware.com/pano2vr Pano2VR] (formerly [[Pano2QTVR]]) creates Flash 9 and Flash 10-compatible SWF files with included spherical viewer. It also creates QuickTime VR content and can output images in a number of different projections including equirect and cubefaces.<br />
<br />
* [http://krpano.com/ KRPano] is a Flash 9 & 10 & HTML5 based panorama viewer with a wide range of configuration options. These include different projections such as stereographic ('little planet'), fisheye, Vedutismo, and 'architectural'. It can handle cubefaces, equirects and QTVR .mov files, and it can embed other media including audio and FLV videos into panoramas.<br />
<br />
== Online Services ==<br />
<br />
* [[Virtual Tour Architect]] allows users to create virtual tours with panorama images. The tours are displayed as flash (PC) and html5 (iPhone, iPad). The tours are created very fast through a very easy-to-use interface. It is based on [[Syborg Rooms]].<br />
<br />
<br />
<br />
== HTML5 based Viewers ==<br />
<br />
=== Free ===<br />
<br />
* [[Syborg Rooms]] exports virtual tours in flash and html5. Based on the users device the export shows the supported format.<br />
* [http://www.vrhabitat.com/#vr5 VR5 Pano Viewer]. You need to prepare the images to him (cube faces in 2 resolutions. Can redirect to your standard player in case the browser is not on an iPad/iPhone.<br />
* [http://www.mpetroff.net/archives/2012/05/28/introducing-pannellum/ Pannellum] Very lightweight HTML 5 open source viewer featuring embedding support, configuration using URL parameters, title, author, and license information and full screen support among other things.<br />
* [http://leandigo.github.io/leanorama/ Leanorama]. A free and open source viewer for Webkit browsers (Chrome, Safari, iPad, iPhone, Android 3+). Allows simple definition of virtual tours in JavaScript. Documentation and download on [https://github.com/leandigo/leanorama GitHub]<br />
<br />
=== Commercial ===<br />
<br />
* [[Syborg Rooms]] Pro Version<br />
* [http://krpano.com/ KRPano] is a Flash 9 & 10 & HTML5 based panorama viewer with a wide range of configuration options. These include different projections such as stereographic ('little planet'), fisheye, Vedutismo, and 'architectural'. It can handle cubefaces, equirects and QTVR .mov files, and it can embed other media including audio and FLV videos into panoramas.<br />
<br />
== Stand alone Viewers ==<br />
<br />
* [[FSPViewer]] is a free hardware accelerated stand alone viewer by [[Fulvio Senore]] (Windows only).<br />
<br />
* [[panoglview]] is an Open Source hardware accelerated stand alone viewer for [[Equirectangular Projection]] images (Windows, Linux and OS X).<br />
<br />
* <strike>panoviewer</strike> is an Open Source stand-alone viewer now superceded by [[panoglview]] (Windows, Linux).<br />
<br />
* [[PTViewer]], the original standalone viewer created by [[Helmut Dersch]] in C for X-Windows available from one of the [[mirrors]] (Linux) or the 3.2 version in compiled Java from [http://webuser.fh-furtwangen.de/~dersch/ his page] (Windows).<br />
<br />
* [[Quicktime]] also works as a standalone viewer (Windows, Mac).<br />
<br />
* [[DevalVR]] has a stand alone version, too (Windows).<br />
<br />
* [[freepv]] is a standalone hardware accelerated [[QTVR]] viewer as well as a plugin.<br />
<br />
* [http://groups.google.com/group/panini-support/web/panini-0-71-tips-and-tricks Panini] is an open source panoramic image viewer and perspective tool for all Qt platforms, including Linux, Windows, OSX. It can display files in many panoramic formats. Your video driver must support OpenGL version 1.5, 2.0 for full functionality. Get Panini at [http://sourceforge.net/projects/pvqt/ sf.net/projects/pvqt], [[Build Panini on MacOSX|build on OS X]] or [[Build Panini on Other Unixes|build on other unixes]].<br />
<br />
* [http://www.panorado.com Panorado] is a full-featured image viewer/browser supporting panoramas (JPEG & QTVR). Shareware. (Windows)<br />
<br />
* [http://www.immervision.com/en/multimedia/multimedia_products/multimedia_products_2_6.php PURE Player for Windows] is a free standalone version of PURE Player viewer for Windows OS that supports cylindrical, spherical and cubic panoramas.<br />
<br />
* [http://www.cubeworld.org/ CubeWorld] for iPhone and iPod Touch is a free app that plays cubeface-based panoramas (max 1024px cubefaces) using OpenGL. It can store panoramas locally for offline viewing.<br />
<br />
* [http://www.itunes.com/apps/ipano iPano] for iPhone and iPad, awesome pano viewing app. Lets you keep a high res portfolio (8192 x 4096).<br />
<br />
* [http://www.pangeasoft.net/pano/pangeavr/index.html PangeaVR] for iPad, iPhone and iPod Touch is an app that plays panoramas (max. 2048x1024px equirects on iPhone/iPod, 4096x2048 on iPad) using OpenGL. The standard version of PangeaVR is free, the Pro version (which can store panoramas locally for offline viewing) costs $5.99.<br />
<br />
* [http://panobender.atspace.com/ PanoBender] for Windows CE is a free standalone viewer for JPEG images of equirectangular and cylindrical panoramas.<br />
<br />
* [[SPi-V]] is also [http://fieldofview.com/spv-dev/downloads available as stand alone viewer] (requires [[Shockwave]] plugin) (Windows, OS X).<br />
<br />
* [https://play.google.com/store/apps/details?id=com.adec.apps.release.panpro PPV360HD] (aka Professional Panoramic Viewer 360 HD) is a commercial full-featured Android (from 2.0) App by Andridea (author is Andrea de Carolis) to view Panorama up to 2.27GigaPixel (max 65000x32000) on tablets/smartphones with Kinetic Rotation, full pinch and zoom, tagging. Take a jpeg (equirectangular/cylindrical, full or semi panoramic) and processes it with its own multi-tiles generator, and view them offline with its hardware accelerated 3d viewer. User can change FOV, vert/horiz degree and many options ([https://sites.google.com/site/andrewdc09/Software/ppv360hd developer site]). There'is also a [https://play.google.com/store/apps/details?id=com.adec.apps.release.pandemo free demo] available, with some limitations. Developers offer the possibility to build Virtual Tour App.<br />
<br />
[[Category:Software:Platform:Linux]]<br />
[[Category:Software:Platform:Mac OS X]]<br />
[[Category:Software:Platform:Windows]]<br />
[[Category:Software:Platform:Mobile/PDA]]<br />
<br />
== External Links ==<br />
<br />
* http://www.panoramaphotographer.com/comparisons/ shows working examples of a large number of different web-based panorama players.</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_Panorama_Editor_window&diff=14944Hugin Panorama Editor window2013-01-28T05:13:19Z<p>Mpetroff: Numerous minor tweaks</p>
<hr />
<div>= Tabs =<br />
The [[Panorama Editor window]] is also "tab" based. Below you see a partial example screen of the [[Panorama Editor window]] showing the tabs with the button bar above them. <br />
<br />
[[image:Hugin2013_panorama_editor_menu.png]]<br />
{{clr}}<br />
<br />
== Photos ==<br />
<br />
The [[Hugin Photos tab|Photos tab]] is used to:<br />
* Manage the images in a Hugin project<br />
* Edit the positions of the images in the final panorama<br />
* Edit the lens settings<br />
* Edit photometrics settings<br />
* Edit/Create stacks<br />
<br />
== Masks ==<br />
<br />
Often photos contain parts which should not be used in the final panorama (e.g. moving objects);<br />
alternatively you may need to specifically include a distinctive feature (e.g. persons) in the final panorama.<br />
<br />
The [[Hugin Mask tab|Masks tab]] allows you to mask these areas for inclusion or exclusion from the stitched panorama.<br />
<br />
== Control Points ==<br />
<br />
<br />
[[Hugin]] stitches panoramas by matching identical features in different<br />
overlapping photos. These features are defined by ''pairs'' of [[control points]].<br />
The [[Hugin Control Points tab]] shows two photos at a time and allows<br />
you to manually create and edit any pair of '''control points'''.<br />
<br />
In addition to the '''Control Points tab''', the [[Hugin Control Points table]]<br />
is used to manage pairs of '''control points'''.<br />
<br />
'''Vontrol points''' can be created automatically in the '''Align''' section<br />
of the [[Hugin Assistant tab]] or with the '''Feature Matching''' section<br />
of the [[Hugin Photos tab|hugin Photos tab]].<br />
<br />
== Stitcher ==<br />
The end result of a Hugin project is an image file containing a panorama. The final [[Hugin Stitcher tab|Stitcher tab]] is where size and quality are set and where this output file is created.<br />
<br />
= Menus =<br />
<br />
== File ==<br />
<br />
* '''New''': Discard the current project and start a new empty project.<br />
* '''Open''' an existing [[Hugin]], [[PTGUI]], [[PTAssembler]], [[autopano]] or [[autopano-sift]] project file.<br />
* '''Save''' the current project as a Hugin ''pto'' file.<br />
* '''Save as''' a ''pto'' file with a different name.<br />
* '''Write PTStitcher script''' saves a simplified project file suitable for batch stitching with [[PTStitcher]], [[nona]] or [[PTmender]]. Note that [[nona]] can stitch a [[Hugin]] project file directly, so this step is unnecessary when using '''nona'''.<br />
* '''Most recently used projects''' shows a list of recent Hugin projects.<br />
* '''Run Batch Processor''' launches the [[Hugin Batch Processor]] GUI queue manager; note that the queue won't be processed unless this queue manager is running.<br />
* '''Merge project''' can be used to merge another project with the current project. New photos will be added to the list of images; for duplicate photos, only the control points are merged. <br />
* '''Apply Template''' assigns parameters from an existing ''pto'' project to the current set of photos. Only position and [[Lens correction model|lens parameters]] are transferred; [[control points]] are ignored.<br />
* '''Preferences''' opens the [[Hugin Preferences]] window.<br />
* '''Quit''' Hugin.<br />
<br />
== Edit ==<br />
<br />
* '''Undo''' undoes the most recent change to the current project.<br />
* '''Redo''' redoes an undo.<br />
<br />
* '''Add Image''' to the current project.<br />
* '''Run Assistant''' will run the automised panorama creator by finding control points, aligning and optimising.<br />
* '''Send to assistant queue''' will run the automised panorama creator via the batch processor in case you want to create multiple panoramas after each other.<br />
* '''Optimize''' re-optimises the current project. This has exactly the same effect as clicking '''Optimize Now!''' in the [[Hugin Optimizer tab]].<br />
<br />
* '''Fine-tune all Points''' does the same as '''Fine-tune''' in the [[Hugin Control Points tab]], except that all [[control points]] in the project are adjusted. Fine tune settings are set in the [[Hugin Preferences]].<br />
* '''Remove control points in masks''' removes all control points in regions which are masked on the [[Hugin Mask tab]]. <br />
* '''Run Python script''' will run one of the installed or self-created python scripts. This option is only available when Python support has been compiled into your '''Hugin''' build.<br />
<br />
== View ==<br />
<br />
* '''Full Screen''' shows this '''Hugin Main window''' using as much screen space as possible without any window decorations. Note that the [[Hugin Fast Preview window]] can also be set as full screen.<br />
* '''Control point table''' shows the [[Hugin Control Points table]].<br />
* '''Preview window''' shows the [[Hugin Preview window]].<br />
* '''Fast Preview window''' shows the [[Hugin Main window#Tabs|Hugin Fast Preview window]] which is the [[Hugin Main window#Tabs| Simple User interface]] screen.<br />
* '''Photos''' shows the [[Hugin Photos tab]].<br />
* '''Masks''' shows the [[Hugin Mask tab]].<br />
* '''Control Points''' shows the [[Hugin Control Points tab]].<br />
<!-- * '''Optimizer''' shows the [[Hugin Optimizer tab]].<br />
* '''Exposure''' shows the [[Hugin Exposure tab]]. --><br />
* '''Stitcher''' shows the [[Hugin Stitcher tab]].<br />
<br />
== Actions ==<br />
<br />
The Action menu list all install Python plugins for Hugin. It is therefore only available if Hugin is compiled with Python support.<br />
<br />
== Interface ==<br />
* '''Simple''': This is the user interface this introduction is written for. It consists of all basic functionality to create a panorama and will suffice in 90% of all cases.<br />
* '''Advanced''': This user interface starts Hugin in the Panorama Editor screen. The simple interface is available in the background.<br />
* '''Expert''': This user interface also starts Hugin in the Panorama Editor screen and unleashes all the power and options of Hugin.<br />
<br />
== Help ==<br />
<br />
* '''Help''' opens the [[Hugin]] manual.<br />
* '''Tip of the day'''<br />
* '''Keyboard Shortcuts'''<br />
* '''FAQ''': Hugin [[hugin FAQ|Frequently asked questions]]<br />
* '''About''' shows the [[Hugin About window]].<br />
* '''Donate''' opens the Hugin donation page; there is no obligation to donate. Any donations are used for travel and promotion costs related to Hugin development.<br />
<br />
<br />
= Buttons =<br />
<br />
Above the row of tabs are a series of buttons for common commands:<br />
<br />
== [[Image:Hugin_filenew.png]] New project ==<br />
<br />
Discards the current project and starts a new empty project.<br />
<br />
== [[Image:Hugin_fileopen.png]] Open project ==<br />
<br />
Opens an existing [[Hugin]], [[PTGUI]], [[PTAssembler]], [[autopano]] or [[autopano-sift]] project file.<br />
<br />
== [[Image:Hugin_filesave.png]] Save project ==<br />
<br />
Saves the current project as a Hugin .pto file.<br />
<br />
== [[Image:Hugin_filesaveas.png]] Save project as ==<br />
<br />
Saves as a .pto file with a different name.<br />
<br />
== [[Image:Hugin_undo.png]] Undo ==<br />
<br />
Undoes the most recent change to the current project.<br />
<br />
== [[Image:Hugin_redo.png]] Redo ==<br />
<br />
Redoes an undo.<br />
<br />
== [[Image:Hugin_edit_add.png]] Add image ==<br />
<br />
Adds an image or photo to the current project.<br />
<br />
== [[Image:Hugin_optimize.png]] Re-optimize ==<br />
<br />
Re-optimises the current project. This has exactly the same effect as clicking '''Optimize Now!''' in the [[Hugin Optimizer tab]].<br />
<br />
== [[Image:Gl_preview.png]] Fast Preview panorama ==<br />
<br />
Shows the [[Hugin Fast Preview window]].<br />
<br />
== [[Image:Hugin_preview.png]] Preview panorama ==<br />
<br />
Shows the [[Hugin Preview window]].<br />
<br />
== [[Image:Hugin_list.png]] Show control points ==<br />
<br />
Shows the [[Hugin Control Points table]].<br />
<br />
== [[Image:Hugin_info.png]] About Hugin ==<br />
<br />
Shows the Hugin '''About''' pop-up window; this displays the current version and a list of contributors.<br />
<br />
<br />
[[Category:Software:Hugin]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_Crop_tab&diff=14943Hugin Crop tab2013-01-28T05:04:01Z<p>Mpetroff: Numerous minor tweaks</p>
<hr />
<div>Use the '''Crop''' tab to indicate the area of the panorama that should be used as output. This crop tab doesn't work on the individual images but on the entire panorama.<br />
<br />
[[image:Hugin2013 crop tab.png|thumb|600px|left|Screenshot of the Crop tab; click for larger image]]<br />
{{clr}}<br />
<br />
The "Autocrop" and "HDR Autocrop" buttons will adjust the crop rectangle so that it is entirely within the image area, i.e. there will be no "black" borders in the final stitched image (In other words: it determines the maximum number of pixels having no empty, black space). It does this by maximising the area of the rectangle rather than the width or height. This is automatically done when running the [[Hugin Assistant tab]].<br />
<br />
To change the cropping at each edge, move the mouse towards that edge until a semi-transparant white box appears along it; then drag with the left mouse button until the edge is where you want it. The area outside the dragging rectangle represents the areas that will be cropped off the panorama. You can move two edges at once by moving the mouse towards the corner shared by the edges until both white boxes appear. If you wish to move the whole region at once, move the mouse into the middle so that all four edges have boxes along them and drag. <br />
<br />
This [[Hugin Crop tab]] also has the option to display guides in the preview to help you crop the panorama until the composition applies to for example the "rule of thirds."<br />
<br />
Note: '''Cropping the panorama''' shouldn't be confused with a camera's [[Crop factor]], which is something else entirely. <br />
<br />
Note 2: This [[Hugin Crop tab]] is not for cropping individual images, like you would do for e.g. [[fisheye Projection]] images having a circular area in the middle with a useless black area outside or scanned images that might have edges that need to<br />
be ''cropped'' away.<br />
<br />
[[Category:Software:Hugin]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_move_drag_tab&diff=14942Hugin move drag tab2013-01-28T04:59:44Z<p>Mpetroff: Numerous minor tweaks</p>
<hr />
<div>= Move/Drag tab =<br />
[[image:Hugin2013 move drag tab.png|thumb|600px|left|Screenshot of Move/Drag tab; click for enlarged image]]<br />
{{clr}}<br />
<br />
Using this tool you can recentre the panorama interactively. With it turned on, try the following:<br />
* Drag the panorama with the left mouse button to rotate the panorama's images. The centre of rotation is the point where you pushed the mouse button down.<br />
* Hold shift when doing the above to constrain movement to yaw or pitch. Note that pitch is affected by the centre of rotation.<br />
* Drag the panorama with the right mouse button or hold control and drag with the left to roll the panorama (rotate around the middle)<br />
<br />
If the panorama contains unconnected components (i.e. not connected by [[control points]]), they will move individually. There is also an '''Individual''' Drag mode (see below).<br />
<br />
= Drag mode =<br />
This determines what parameters that are changed when the images are dragged.<br />
* '''Normal''': When dragged left-right, the yaw parameter is changed, and when dragged up-down, the pitch parameter is changed (i.e. the camera is tilted in the yaw and pitch angles).<br />
* '''Normal, individual''' adds checkboxes to the '''displayed images''' buttons; here you can select which images to drag individually or together. With this mode selected, the control point connections between photos are ignored.<br />
<br />
In individual mode, you can select the images to drag with the checkboxes. You can also add images to the selection group by clicking on the image in the panorama while pressing the Control key. When clicking on an image with the Control and Shift keys pressed, the image is removed from the selection group.<br />
<br />
<br />
In Expert mode it is also possible to change the [[Stitching a photo-mosaic|translation parameters X and Y]] by dragging.<br />
* '''Mosaic''': When dragged left-right, X parameter is changed, and when dragged up-down, the Y parameter is changed (i.e. the camera is moved in the X and Y dimensions).<br />
* '''Mosaic, individual''' allows selected photos to be dragged in mosaic mode.<br />
<br />
= [[Image:Hugin_center_pano.png]] Centre =<br />
<br />
This button horizontally ''pans'' the output, changing the [[yaw]] of the remapped images so they fit to the centre of the output frame. This is useful if there is a lot of black space on the left or right of the output. This also performs a '''Fit''', equivalent to the next button.<br />
<br />
Note that centering a [[Rectilinear Projection]] or [[Fisheye Projection]] panorama will change the perspective; this may be unwanted.<br />
<br />
= [[Image:Hugin_fit_pano.png]] Fit =<br />
<br />
This doesn't change any input image parameters; it just readjusts the output [[Field of View]] such that all the input images are visible. If the images are all off-centre, then there will be a lot of black space.<br />
<br />
= [[Image:Hugin_straighten_pano.png]] Straighten =<br />
<br />
Straightening the panorama optimises the [[roll]] and [[pitch]] of the input images without changing their relative positions, levelling the panorama in the process. This normally produces good results; if you need more accurate positioning, try adding [[vertical control points]] in the [[Hugin Control Points tab]] and reoptimise.</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_Projection_tab&diff=14941Hugin Projection tab2013-01-28T04:53:07Z<p>Mpetroff: Fixed two comma splices</p>
<hr />
<div>= Projection Tab =<br />
This tab is for adjusting [[Projections|projection]] of the panorama; some projections have adjustable parameters which will appear when selected.<br />
[[Image:Hugin2013_projection_tab.png|thumb|500px|left|Screenshot of top half of Projection tab; click for enlarged image]]<br />
{{clr}}<br />
<br />
= [[Image:Hugin_fit_pano.png]] Fit =<br />
<br />
This doesn't change any input image parameters; it just readjusts the output [[Field of View]] such that all the input images are visible. If the images are all off-centre, then there will be a lot of black space.<br />
<br />
= Field of View =<br />
<br />
This is the horizontal and vertical angle of view of the output image.<br />
<br />
= Projection =<br />
<br />
Use the drop down list to change the output projection of the panorama. <br />
Note that for some projections, the scroll-bar sliders to change the<br />
[[Field of View]] are disabled. If you are having trouble, switch to [[Equirectangular Projection]], adjust<br />
the field of view and switch back.<br />
<br />
= Guides =<br />
<br />
Guides display "helping" lines in your preview to determine whether your panorama follows some basic rules with regard to the composition. <br />
Some well known guides are for example the [http://en.wikipedia.org/wiki/Rule_of_thirds|"Rules of thirds"] and the "Golden ratio" (also called "golden section").<br />
<br />
<br />
__NOTOC__<br />
[[Category:Software:Hugin]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_Preview_tab&diff=14940Hugin Preview tab2013-01-28T04:51:01Z<p>Mpetroff: Numerous minor tweaks</p>
<hr />
<div>= Preview tab =<br />
[[image:Hugin2013_preview_tab.png|thumb|700px|left|Screenshot of Preview tab; click for enlarged image]]<br />
{{clr}}<br />
== [[Image:Fast_preview_icon_identify.svg]] Identify ==<br />
<br />
Using this tool you can find where your images are and match them to their number. You can also edit control points.<br />
<br />
Move the mouse over the visibility buttons for the images (the numbers at the top left of the preview) and the corresponding image lights up red in the preview. <br />
When this tool is turned on, moving the mouse over the panorama highlights all the images under the mouse in different colours. The buttons for those images light up in matching colours.<br />
The same can be achieved when holding the Control key and moving the mouse over the panorama.<br />
<br />
'''Tip''': We are now in the Simple Interface, and when everything runs smoothly you should not need this tip. However, when the mouse is on the overlap of two images, you can click inside the overlap, and the [[Hugin Control Points tab|Control Points tab]] of the [[Panorama Editor]] will open to edit the control points between those images.<br />
<br />
== Photometrics ==<br />
<br />
This enables full photometric correction. When turned on, this will cause significant delay when changing photometric parameters. It also takes a while to turn on and off. However, with it enabled you get much better representation of the colours in the output. With it turned off, you get correction only for exposure and white balance. With it turned on, you also get vignetting and colour response correction.<br />
<br />
== Show control points ==<br />
<br />
When this tool is turned on, all [[Control points]] are drawn as lines with crosses at each end. Green, yellow, orange and red lines and their crosses indicate "normal" control points. A red control point is misaligned (the ends of the line are father apart), and a green control point is well aligned (the ends of the line are almost in the same position). Blue indicates [[horizontal control points]], [[vertical control points]] or [[straight line control points]].<br />
<br />
== Blend mode ==<br />
<br />
The ''normal'' blend mode will draw the images with the first photos in the project above later photos, as this approximates the order that blending is performed. The ''difference'' blend mode will do the same, except the image under the mouse pointer will be subtracted from the rest of the stack. Use this to determine if the alignment went well: where you can see edges in the subtracted image, these edges are misaligned. Be warned that this isn't fully accurate, and the other preview has a better difference mode.<br />
<br />
== EV ==<br />
<br />
'''EV''' stands for ''Exposure Value''. Clicking the '''Reset''' button will set it to the average of all<br />
the input image exposures, or setting it to '''0''' (zero)<br />
will result in no exposure change being applied to the panorama (note that unless all the photos also have their individual EV set to zero in the [[Hugin Camera and Lens tab]], they will likely appear incredibly bright or dark).<br />
<br />
'''EV''' is a standard photographic scale; each increase or decrease by one unit will change the exposure by<br />
the equivalent of one ''f-stop'' (i.e. halving or doubling the exposure). It is worth adjusting the exposure<br />
here in [[Hugin]] rather than later in an external image editor, since '''Hugin''' uses the [[camera response curve]]<br />
calculated in the [[hugin Exposure tab|Exposure tab]] to perform the correction in a ''linear'' colour space.<br />
<br />
The average value isn't always wanted. If you see colour artefacts in bright sky areas, set this<br />
to the negative of the darkest input image; this has a side-effect of clipping brighter images.<br />
<br />
== Grey Picker ==<br />
<br />
Hugin can align the white balance ([[w:Color balance]]) of the photos in the panorama to match that of the ''anchor'' photo; this is done in the '''Align...''' button in the [[Hugin Assistant tab|Assistant tab]]. Usually this ''anchor'' is the first photo in the project, but it can be changed using '''anchor this image for exposure''' in the [[Hugin Photos tab|Photos tab]].<br />
<br />
However, often neither the first photo nor any of the photos in the project has the desired or correct white balance. You can use the '''Grey Picker''' button to adjust the white balance of the whole panorama by using any "neutral" colour object in the scene as a sample. Just push the button and then click on the object in the preview canvas.<br />
<br />
An ideal neutral colour object is white or grey; this could be a test card, an overcast sky, snow or a white object. It is important to remember that white paint and paper comes in lots of colour shades, so it really isn't very reliable. Prefer a transparent material that is white due to light diffusion, such as etched glass or polystyrene foam. Avoid objects that are "blown out" or which are in shade and illuminated only by secondary light sources in the scene.</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_Assistant_tab&diff=14938Hugin Assistant tab2013-01-28T04:38:20Z<p>Mpetroff: Numerous minor tweaks</p>
<hr />
<div>The [[Hugin]] assistant automates nearly everything needed to create<br />
a panorama; just follow the three steps described below the partial screen capture of the top half of the screen:<br />
<br />
[[image:Hugin2013_assistant_tab_tophalf.png]]<br />
{{clr}}<br />
<br />
= 1. Load images... =<br />
<br />
Click on the '''Load images...''' button to select the photos you want to use in your panorama.<br />
<br />
This tries to identify the [[field of view]] of your photos by looking at (EXIF) information stored by<br />
the camera itself. If this fails, you need to enter the '''field of view''' manually, or let [[Hugin]] calculate it from the [[Focal Length]] and [[crop factor|Focal length multiplier]].<br />
<br />
Also select a [[Hugin_Photos_tab#Lens_type|matching ''Lens type'']] from the drop-down list. If you are unsure, try the default '''Normal (rectilinear)'''.<br />
<br />
= 2. Align... =<br />
<br />
Clicking on '''Align...''' will use an automatic tool (the one set as ''Default'' in the [[Hugin Preferences#Control_Point_Detectors|Control Point Detectors tab]] of the Preferences) to match images, then use the internal [[Hugin]] optimiser to align them, correct exposure and white balance. <br />
<br />
A preview of the result will be displayed in the bottom half of this screen. If this preview looks good, proceed with the third step (the '''Create panorama...''' button), otherwise you will need to make some changes to the images and optimisations of the project in the other tabs.<br />
<br />
= 3. Create panorama... =<br />
<br />
Finally, use '''Create panorama...''' to stitch the panorama to an image file with standard<br />
quality settings.<br />
<br />
= Settings =<br />
A tab in the ''Preferences'' dialog (available from the menu) allows you to customise some [[Hugin Preferences#Assistant|settings]] of the assistant. <br />
<br />
= Overview and Preview =<br />
Both the Overview and the Preview canvas will be displayed on all tabs of the Simple Interface, being this ''Hugin Assistant tab'', the [[Hugin Preview tab]], <br />
the [[Hugin_Main_window#Layout|Hugin Layout tab]], the [[Hugin Projection tab]], the [[Hugin move drag tab]] and the [[Hugin Crop tab]].<br />
<br />
<br />
== Overview ==<br />
<br />
[[image:Hugin2013 overview.png|thumb|200px|left|Screenshot of Overview in Panosphere mode]]<br />
The '''Overview''' represents an interactive preview of the panorama.<br />
<br />
To show or hide the docked Overview window, check or uncheck the "Overview" checkbox option from the "View" menu. Zoom it by dragging the handle located at the center of the border to the preview canvas.<br />
<br />
To hide or show the grid in both the overview and the preview canvas, check or uncheck the "Grid" checkbox option from the "View" menu.<br />
<br />
Clicking the small pin icon in the header of the docked Overview area (or dragging the Overview title bar) will switch to a floating window instead. To put that floating window back in a docked position, just drag it in either the top, bottom, left or right boundary of the preview's actual image area.<br />
<br />
The default mode is a Panosphere to display typical panoramas and can be used to e.g. easily check for errors in the nadir or zenith regions.<br />
{{clr}}<br />
<br />
== Preview ==<br />
The preview canvas displays a representation of the final stitched output panorama. Use the scroll bars to change the horizontal and vertical Field of View. <br />
<br />
__NOTOC__<br />
[[Category:Software:Hugin]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_Main_window&diff=14937Hugin Main window2013-01-28T04:31:29Z<p>Mpetroff: Numerous minor tweaks</p>
<hr />
<div>{| style="margin: 1em auto 1em 1em;background:#FFFF99;color:#FF0000;text-align:left;border: solid #FF3300;"<br />
|-valign="top"<br />
! '''2013-01-23:'''<br />
! Currently these pages are completely rewritten to reflect the state of the new designed GUI which will be released in 2013<br />
|}<br />
<br />
= Tabs =<br />
<br />
Although there are many other uses, [[Hugin]] is primarily a<br />
tool for assembling multiple photos and creating a "seamless" panorama.<br />
<br />
Hugin is a program that is "tab" based. Below you see a partial example screen of Hugin showing the tabs.<br />
<br />
[[Image:hugin2013_tabs.png]]<br />
<br />
This process of assembling multiple photos and creating a "seamless" panorama is completely automatic <br />
if you use the [[Hugin Assistant tab]], which is the default tab, <br />
but '''Hugin''' also allows full manual control of every stage. For this, '''Hugin''' provides three user interface options: Simple, Advanced and Expert.<br />
The '''Hugin''' simple mode consists of the [[Hugin Assistant tab]] and a few other tabs (as displayed above) that give you simple but effective control on what you are doing.<br />
<br />
This is a quick overview of this ''tab'' system for the ''Simple'' interface. It isn't a step by step tutorial.<br />
You can find these tutorials on the [http://hugin.sourceforge.net/tutorials/ Hugin website].<br />
<br />
For this same overview regarding the "old" user interface (but still the user interface of the current stable release), you can start with [[Hugin Main window old gui]].<br />
<br />
== Assistant ==<br />
<br />
The [[Hugin Assistant tab]] is the fully automatic part of [[Hugin]]; here you can<br />
load images, align them and ''stitch'' them into a panorama without having to use<br />
any of the other tabs.<br />
The [[Hugin Assistant tab]] also consists of a panoramic overview and a preview. This overview and preview are visible on the other tabs as well, be it with different functionality and sometimes slightly modified layout.<br />
<br />
Alternatively, you can use this '''Assistant''' as the first step in creating a<br />
project that can involve the use of some or all of the other tabs. You can also switch to one of the other <br />
user interface modes, Advanced and Expert, if you want or need to.<br />
<br />
== Preview ==<br />
<br />
In the [[Hugin Preview tab]], you have options to check your images and positions, the white balance, control points (equal points in two overlapping images), ''etcetera''. Changes will immediately be displayed in this preview. This [[Hugin Preview tab]] is the same preview as displayed in the [[Hugin Assistant tab]] and all other tabs in the Simple User Interface.<br />
<br />
<br />
== Layout ==<br />
<br />
The Layout tab shows the entire project as a diagram with colour-coded lines connecting each of the photographs.<br />
<br />
[[image:Hugin2013_layout_tab.png|thumb|300px|left|Screenshot of Layout tab; click for larger versions]]<br />
{{clr}}<br />
<br />
Green lines connecting images show the control points have a small error; red lines show a large error. Grey lines show no control points connecting the images.<br />
<br />
You can see where the project is OK and where there are problems if it isn't quite right. Just click on any connection and Hugin jumps to the Control Points tab to edit that pair of photos.<br />
<br />
Use the '''Scale''' slider to change the size of the photo thumbnails. This only affects the Layout display and won't change the final panorama.<br />
<br />
== Projection ==<br />
The [[Hugin Projection tab]] is for adjusting the [[Projections|projection]] of the panorama; some projections have adjustable parameters that will appear when selected.<br />
<br />
== Move/Drag ==<br />
<br />
The [[Hugin move drag tab|Hugin Move/Drag tab]] is used to recentre the panorama interactively (or place it for whatever reason off centre).<br />
<br />
== Crop ==<br />
<br />
The [[Hugin Crop tab]] displays a rectangle over your preview. By dragging the edges of this rectangle, you can adjust the output area of the panorama.<br />
<br />
= Menus =<br />
<br />
== File ==<br />
<br />
* '''New''': Discard the current project and start a new empty project.<br />
* '''Open''' an existing [[Hugin]], [[PTGUI]], [[PTAssembler]], [[autopano]] or [[autopano-sift]] project file.<br />
* '''Save''' the current project as a Hugin ''pto'' file.<br />
* '''Save as''' a ''pto'' file with a different name.<br />
* '''Most recently used projects''' shows a list of recent Hugin projects.<br />
* '''Run Batch Processor''' launches the [[Hugin Batch Processor]] GUI queue manager; note that the queue won't be processed unless this queue manager is running.<br />
* '''Preferences''' opens the [[Hugin Preferences]] window.<br />
* '''Quit''' Hugin.<br />
<br />
== Edit ==<br />
<br />
* '''Undo''' undoes the most recent change to the current project.<br />
* '''Redo''' redoes an undo.<br />
<br />
== View ==<br />
<br />
* '''Panorama Editor''' opens the [[Hugin Panorama Editor window|Editor window]] where you have control over the various states a workflow is going through from a set of source images to the panorama. <br />
* '''Full Screen''' shows this '''Hugin Main window''' using as much screen space as possible without any window decorations. Note that the [[Hugin Fast Preview window]] can also be set as full screen.<br />
* '''Overview''' checkbox: Shows or hides the (docked) overview in the screen.<br />
* '''Grid''' checkbox: Shows or hides the grid in the overview and preview canvas (see [[ Hugin Assistant tab]]).<br />
<br />
== Interface ==<br />
<br />
* '''Simple''': This is the user interface this introduction is written for. It consists of all basic functionality to create a panorama and will suffice in 90% of all cases.<br />
* '''Advanced''': This user interface starts Hugin in the Panorama Editor screen. The Simple interface is available in the background.<br />
* '''Expert''': This user interface also starts Hugin in the Panorama Editor screen and unleashes all the power and options of Hugin.<br />
<br />
== Help ==<br />
<br />
* '''Help''' opens the [[Hugin]] manual.<br />
* '''Tip of the day'''<br />
* '''Keyboard Shortcuts'''<br />
* '''FAQ''': Hugin [[hugin FAQ|Frequently asked questions]]<br />
* '''About''' shows the [[Hugin About window]].<br />
* '''Donate''' opens the Hugin donation page; there is no obligation to donate. Any donations are used for travel and promotion costs related to Hugin development.<br />
<br />
<br />
[[Category:Software:Hugin]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin&diff=14936Hugin2013-01-28T04:09:37Z<p>Mpetroff: /* User interface */ Punctuation and capitalization tweaks</p>
<hr />
<div>{| style="margin: 1em auto 1em 1em;background:#FFFF99;color:#FF0000;text-align:left;border: solid #FF3300;"<br />
|-valign="top"<br />
! '''2013-01-23:'''<br />
! Currently these pages are completely rewritten to reflect the state of the new designed GUI which will be released in 2013<br />
|}<br />
<br />
'''Hugin''' {{Glossary|is an Open Source panorama stitcher and graphical user interface (GUI) for [[Panorama tools]]|1}}. It also provides a number of additional components and command line tools.<br />
<br />
== About Hugin ==<br />
<br />
Although Hugin is essentially a panorama stitcher, like other [[GUI front-ends]] it has a range of advanced features:<br />
<br />
Among the Hugin workflow options, it is possible to correct [[Exposure correction|exposure]], [[Vignetting]] and [[White balance]] between photos; generate [[HDR]], [[w:Exposure Fusion|exposure fused]] or [[w:Focus stacking|focus stacked]] output from [[bracketing|bracketed]] photos; or use [[16bit]] and [[HDR]] input data natively.<br />
<br />
Photos can be digital or scanned, and taken with any kind of camera. A full range of lenses are supported, from simple cameraphones to obscure [[fisheye]] lenses. Hugin supports various output [[projections]] including a range of spherical, cartographic, and camera projections.<br />
<br />
Hugin supports panoramas taken with multiple rows of photos, with or without bracketing. Bracketed photos can be handheld, taken using a DSLR bracketing function, or as consecutive panoramas shot at different EV exposure levels. Hugin can produce successful panoramas shot with cameras that always shoot using auto-exposure and auto-whitebalance.<br />
<br />
hugin also supports the use of masks which means that you can exclude parts of images you don't want to appear in your panoramas, or include parts of image you specifically want to appear in your panoramas.<br />
<br />
Hugin also uses a separate (background) panorama stitcher. This means that you can render a panorama in the PTBatcherGUI stich window, while working on the next panorama in hugin.<br />
<br />
Starting with version 2011.2.0, Hugin is scriptable in Python. The scripting functionality is still in its infancy and requires more development and testing. For now it is available only in Linux and Windows, and currently there is no feedback from the plugin apart from it's success or failure, which is communicated in a dialog. If you're on Linux, you can start hugin from the command line and switch to the window you started it from while the plugin is running - then you'll see any console output it may produce.<br />
<br />
* [http://hugin.sourceforge.net Hugin homepage] on SourceForge. Screenshots, Tutorials, Documentation and Links.<br />
* [http://sourceforge.net/projects/hugin Hugin project summary page] on SourceForge. Downloads.<br />
* [https://launchpad.net/hugin Hugin on Launchpad]. Bug database and Feature requests.<br />
* [[Hugin FAQ]] Frequently asked questions about Hugin.<br />
<br />
== User interface ==<br />
<br />
The Hugin version as of version 2013.0.0 (to be released early 2013) consists of three User interfaces: '''Simple''', '''Advanced''' and '''Expert'''.<br />
* '''Simple''': This user interface consists of all basic functionality to create a panorama and will suffice in 90% of all cases.<br />
* '''Advanced''': This user interface will start Hugin in the Panorama Editor screen; the simple interface is available in the background.<br />
* '''Expert''': This user interface also starts Hugin in the Panorama Editor screen and will unleash all the power and options of Hugin.<br />
<br />
''(Go to [[Hugin Main window old gui| Version 2012 and older Gui]] to read about the "old" gui which is being used in the current stable release. Note that all Hugin 2012 and older versions come with the help screens installed. You can read the same texts as in this wiki by simply opening '''Hugin''' and clicking the "Help" option from the "Help" menu)''<br />
<br />
<br />
=== Simple User Interface ===<br />
* [[Hugin Main window|Simple User Interface Main window]]<br />
* [[Hugin Assistant tab]]<br />
* [[Hugin Preview tab]]<br />
* [[Hugin Main window#Layout|Hugin Layout tab]]<br />
* [[Hugin Projection tab]]<br />
* [[Hugin move drag tab|Hugin Move/Drag tab]]<br />
* [[Hugin Crop tab]]<br />
<br />
=== Advanced User Interface ===<br />
* [[Hugin Panorama Editor window|Panorama Editor window]]<br />
** [[Hugin Photos tab|Photos tab]]<br />
** [[Hugin Mask tab|Masks tab]]<br />
** [[Hugin Control Points tab|Control Points tab]]<br />
** [[Hugin Stitcher tab|Stitcher tab]]<br />
The Panorama Editor window "takes" the foreground, but you can still switch to the Simple User interface <br />
which is started as a "background" screen of the [[Hugin Panorama Editor window|Panorama Editor]].<br />
<br />
=== Expert User Interface ===<br />
This one is identical to the Advanced User interface, including the Simple User interface screen in the background. It will give you even more options in the form of context-menus (right-click menus) in some parts of the screens.<br />
<br />
== Hugin components ==<br />
<br />
The following tools are part of the Hugin suite:<br />
<br />
* [[hugin]] the gui front end.<br />
* [[nona]] a command-line replacement for [[PTStitcher]].<br />
* [[fulla]] correction of [[barrel distortion]], [[chromatic aberration]] and [[vignetting]].<br />
* [[nona_gui]] a version of [[nona]] with simple GUI progress dialogs, similar to the windows version of [[PTStitcher]].<br />
* [[autooptimiser]] a tool with the same interface as [[PTOptimizer]] except using pairwise optimization which doesn't require any manual pre-placement.<br />
* [[align_image_stack]] a tool to automate the process to [[align a stack of photos]].<br />
* [[tca_correct]] a tool to automatically generate [[chromatic aberration]] correction parameters for use with [[fulla]].<br />
* [[MatchPoint|matchpoint]] feature identification.<br />
* [[pto2mk]] generation of Makefiles for command-line stitching.<br />
* [[pto_gen]] command line tool to generate project file from images<br />
* [[cpfind]] command line tool to find control points<br />
* [[linefind]] command line tool to find vertical features for leveling<br />
* [[icpfind]] command line tool for using heuristic control point matching like inside [[hugin]Hugin GUI]<br />
* [[cpclean]] command line tool to remove control points with improbable error distances<br />
* [[checkpto]] command line tool to examine project file and reports back the number of image chains present<br />
* [[pto_var]] command line tool to manipulate image variables<br />
* [[pto_lensstack]] command line tool to manipulate lens and stacks<br />
* [[calibrate_lens_gui]] automatic lens calibration using straight-line detection<br />
* [[vig_optimize]] command line tool to estimate photometric parameters.<br />
* [[hugin_hdrmerge]] merges multiple exposures to [[HDR]] using Khan anti-ghosting algorithm<br />
* [[hugin_stitch_project]] a GUI tool to stitch a single Hugin .pto project.<br />
* [[celeste_standalone]] removes cloud-like control points from project files.<br />
* [[Hugin Batch Processor|PTBatcherGUI]] a GUI queue manager for stitching multiple Hugin projects.<br />
* [[Hugin Batch Processor|PTBatcher]] command-line access to the [[Hugin Batch Processor]] stitching queue.<br />
* [[deghosting_mask]] Creates mask for removing ghosting in bracketed images<br />
* [[pano_modify]] Change output parameters of project file<br />
* [[pano_trafo]] Transform image coordinates<br />
* [[pto_merge]] Merges two or more Hugin project files<br />
* [[panoglview]] OpenGL panorama viewer stored in sourceforge SVN alongside [[hugin]] which must be built separately.<br />
* [[autopano-sift-C]] version of [[autopano-sift]] written in C, also needs to be built separately.<br />
<br />
More information, documentation and tutorials are available on the [http://hugin.sourceforge.net/ project website].<br />
<br />
Like other [[GUI front-ends]], '''Hugin''' provides an easy-to-use unified point-and-click interface to a whole range of other command-line tools including:<br />
<br />
* [[autopano-sift]], [[autopano-sift-C]], [[panomatic]] or [[autopano]] for automatic creation of [[control points]] (note that an external control-point generator is no longer required by Hugin).<br />
* [[enblend]] and [[enfuse]] for seamless blending of output images.<br />
<br />
The Hugin project also provides open source replacements for the small number of closed source components of [[Panorama tools]], especially [[PTStitcher]].<br />
A PTStitcher replacement called [[nona]] and a PTOptimizer replacement called [[autooptimiser]] have been developed, supporting their most important features.<br />
<br />
== Development ==<br />
<br />
Hugin is Open Source, and like every community-developed software very much dependent on voluntary contributions of resources. If you have coding skills, you are welcome to look at the source code and contribute to it. Even if you don't have coding skills, you most likely have some skills that the project could use and you are more than welcome to contribute your time. The tasks requiring attention change frequently and so do the required skillset and resources. Find more about the [[Development of Open Source tools|development process]].<br />
<br />
== External links ==<br />
* [http://hugin.sourceforge.net Hugin homepage] for Screenshots, Tutorials, Documentation and Links.<br />
* [http://sourceforge.net/projects/hugin Hugin Sourceforge project] for Downloads.<br />
* [https://launchpad.net/hugin Hugin's bug tracker] for bug reports and feature requests.<br />
* [http://hugin.hg.sourceforge.net/hgweb/hugin/ Sourceforge HG] to browse the Hugin source-code in Mercurial.<br />
* [http://groups.google.com/group/hugin-ptx hugin-ptx GoogleGroup] to contribute to development and peer support.<br />
<br />
== Supported operating systems ==<br />
* [[windows software|Windows]]<br />
* [[Unix software|Linux and Unix]]<br />
* [[Mac software|Mac OS X]]<br />
<br />
[[Category:Software:Platform:Windows]]<br />
[[Category:Software:Platform:Linux]]<br />
[[Category:Software:Platform:Mac OS X]]<br />
[[Category:Software:Hugin]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=13874Hugin SDK (MSVC 2010)2012-03-22T03:23:30Z<p>Mpetroff: /* Glib libary */ Fixed typo</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Mercurial repository<br/><br />
<tt>http://hugin.hg.sourceforge.net:8000/hgroot/hugin/autopano-sift-C</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br/> 2011: With a working cpfind this is not necessary any more.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Mercurial repository<br/><tt>http://panotools.hg.sourceforge.net:8000/hgroot/panotools/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(autopano-sift-c only) libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (inutile si cygwin est installé) Utilitaires GNU portés sur plateforme Windows 32 bits (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Templatized C++ Command Line Parser 1.2.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>GLib</tt><br />
| style="padding:5px; text-align:left" | glib libary from GTK+ (http://www.gtk.org/)<br/> [http://www.gtk.org/download/win32.php <tt> Download site</tt>] <br/>I don't know, if the precompiled version work with lensfun/Hugin. Use the [http://ftp.gnome.org/pub/gnome/sources/glib/2.28/glib-2.28.8.tar.bz2 source distribution.]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Lensfun</tt><br />
| style="padding:5px; text-align:left" | lensfun library for reading/writing to lens database (http://lensfun.berlios.de/)<br/> You will need unreleased version 0.2.5.1 from subversion repository svn://svn.berlios.de/lensfun for full feature set<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18</tt> <br />
| style="padding:5px; text-align:left" | LittleCms Color management library (http://www.littlecms.com)<br/> [http://sourceforge.net/projects/lcms/files/lcms/1.18/lcms-1.18a.zip/download <tt>lcms-1.18a.zip</tt>] (2009-04-19)<br/><br />
2.0 has been released, but will require code updates to enblend.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building Hugin Setup (NSIS Installer)<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>NSIS</tt> <br />
| style="padding:5px; text-align:left" | Nullsoft Scriptable Install System (http://nsis.sourceforge.net/)<br/> [http://prdownloads.sourceforge.net/nsis/nsis-2.46-setup.exe?download <tt>nsis-2.46-setup.exe</tt>] (2009-12-06)<br/><br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
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]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
This indicates that the compiler didn't like the declaration on line 158 of <SDKHOME>\STLport-5.2.1\stlport\stl\_cstdlib.h - comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_43_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_43_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only a subset of the Boost libraries, thus only these required libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Allow conversion to proceed.</li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
Note: required by autopano-sift-c only, not by enblend or hugin. Untested and unchanged from MSVC 2008 version because autopano-sift-c untested.<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Note: Untested and unchanged from MSVC 2008 version because of patent restrictions for U.S.-based author ([[User:Helser|Aron Helser]]).<br/><br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
=== Templatized C++ Command Line Parser Library (tclap) ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>tclap-1.2.0.tar.gz</tt> to directory <tt><SDKHOME>\tclap-1.2.0</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\tclap-1.2.0\include\tclap</tt><br />
<br />
=== Glib library ===<br />
<br />
Needed by the lensfun library<br />
<br />
<ol><br />
<li> Decompress the file <tt>glib-2.28.8.tar.bz2</tt> to directory <tt><SDKHOME>\glib-2.28.8</tt></li><br />
<li> Open project file in <tt>glib\2.28.8\build\win32\vs10\</tt> </li><br />
<li> Do the following modifications: <br />
<ul><br />
<li> Remove the projects glib-compile-schemas, glib-genmarshal, gsettings, gspawn-win32-helper, gspawn-win32-helper-console and testglib. There are not needed. </li><br />
<li> Change type to "static libary (.lib)"</li><br />
<li> Change run-time library to "Multi-threaded /MT" for all sub-projects</li><br />
<li> Project gio: Replace preprocessor_USRDLL directive with GIO_STATIC_COMPILATION</li><br />
<li> Project glib, gmodule, gthread: Replace preprocessor_USRDLL directive with GLIB_STATIC_COMPILATION</li><br />
<li> Project gobject: Replace preprocessor_USRDLL directive with GOBJECT_STATIC_COMPILATION</li><br />
<li> Start building. It will create some config file and will then fail with error messages regarind intl.h </li><br />
<li> Open <tt><SDKHOME>\glib-2.28.8\config.h</tt>, comment out line 29: <tt> // #define ENABLE_NLS 1 </tt> </li><br />
<li> Project gio: Add path to zlib includes in wxWidgets to search path: wxWidgets-x.x.x\src\zlib </li><br />
<li> Open menu <tt>View, Properties manager</tt> and expand INSTALL project, go toRelease|Win32; glib.props; select properties, in User macros change CopyDir and GlibEtcInstallRoot from ..\..\..\..\..\vs10\$(Platform) to ..\..\..\<br />
<li> Build target INSTALL </li><br />
</ul><br />
</li><br />
<li> Copy the all lib files from <tt><SDKHOME>\glib-2.28.8\build\Win32\vs10\Release\Win32\bin</tt> and <tt><SDKHOME>\glib-2.28.8\lib</tt>.</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in <tt><SDKHOME>\glib-2.28.8\include</tt>, the libraries in <tt><SDKHOME>\glib-2.28.8\lib</tt><br />
<br />
=== Lensfun library ===<br />
<br />
<ol><br />
<li> Pull from subversion: svn://svn.berlios.de/lensfun </li> to <tt><SDKHOME>\lensfun-svn</tt><br />
<li> Build library with CMake <br />
<ul><br />
<li> Set option <tt>BUILD_STATIC</tt> to on/TRUE </li><br />
<li> Check <tt>GLIB2_BASE_DIR</tt> and set to your GLIB2 directory. </li><br />
</ul><br />
</li><br />
<li> Open generated project file and build target INSTALL </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
All necessary files reside in <tt><SDKHOME>\lensfun</tt><br />
<br />
=== Nullsoft Scriptable Install System (NSIS) ===<br />
Note: Only needed to build Hugin Setup installer<br />
<ol><br />
<li>Run the NSIS installer, <tt>nsis-2.46-setup.exe</tt>, installing to the default location.</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
NSIS should be installed to <tt><DRIVE>\Program Files\NSIS</tt><br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Hugin:Compiling]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=13315Hugin SDK (MSVC 2010)2011-03-21T16:25:55Z<p>Mpetroff: Added tclap</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Mercurial repository<br/><br />
<tt>http://hugin.hg.sourceforge.net:8000/hgroot/hugin/autopano-sift-C</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Mercurial repository<br/><tt>http://panotools.hg.sourceforge.net:8000/hgroot/panotools/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(autopano-sift-c only) libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (inutile si cygwin est installé) Utilitaires GNU portés sur plateforme Windows 32 bits (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Templatized C++ Command Line Parser 1.2.0</tt><br />
| 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>]<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18</tt> <br />
| style="padding:5px; text-align:left" | LittleCms Color management library (http://www.littlecms.com)<br/> [http://sourceforge.net/projects/lcms/files/lcms/1.18/lcms-1.18a.zip/download <tt>lcms-1.18a.zip</tt>] (2009-04-19)<br/><br />
2.0 has been released, but will require code updates to enblend.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building Hugin Setup (NSIS Installer)<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>NSIS</tt> <br />
| style="padding:5px; text-align:left" | Nullsoft Scriptable Install System (http://nsis.sourceforge.net/)<br/> [http://prdownloads.sourceforge.net/nsis/nsis-2.46-setup.exe?download <tt>nsis-2.46-setup.exe</tt>] (2009-12-06)<br/><br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
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]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_43_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_43_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only a subset of the Boost libraries, thus only these required libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
Note: required by autopano-sift-c only, not by enblend or hugin. Untested and unchanged from MSVC 2008 version because autopano-sift-c untested.<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Note: Untested and unchanged from MSVC 2008 version because of patent restrictions for U.S.-based author ([[User:Helser|Aron Helser]]).<br/><br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
=== Templatized C++ Command Line Parser Library (tclap) ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>tclap-1.2.0.tar.gz</tt> to directory <tt><SDKHOME>\tclap-1.2.0</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\tclap-1.2.0\include\tclap</tt><br />
<br />
=== Nullsoft Scriptable Install System (NSIS) ===<br />
Note: Only needed to build Hugin Setup installer<br />
<ol><br />
<li>Run the NSIS installer, <tt>nsis-2.46-setup.exe</tt>, installing to the default location.</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
NSIS should be installed to <tt><DRIVE>\Program Files\NSIS</tt><br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=13314Hugin SDK (MSVC 2010)2011-03-21T16:25:01Z<p>Mpetroff: /* Building from Source */ Added tclap</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Mercurial repository<br/><br />
<tt>http://hugin.hg.sourceforge.net:8000/hgroot/hugin/autopano-sift-C</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Mercurial repository<br/><tt>http://panotools.hg.sourceforge.net:8000/hgroot/panotools/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(autopano-sift-c only) libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (inutile si cygwin est installé) Utilitaires GNU portés sur plateforme Windows 32 bits (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Templatized C++ Command Line Parser 1.2.0</tt><br />
| 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>]<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18</tt> <br />
| style="padding:5px; text-align:left" | LittleCms Color management library (http://www.littlecms.com)<br/> [http://sourceforge.net/projects/lcms/files/lcms/1.18/lcms-1.18a.zip/download <tt>lcms-1.18a.zip</tt>] (2009-04-19)<br/><br />
2.0 has been released, but will require code updates to enblend.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building Hugin Setup (NSIS Installer)<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>NSIS</tt> <br />
| style="padding:5px; text-align:left" | Nullsoft Scriptable Install System (http://nsis.sourceforge.net/)<br/> [http://prdownloads.sourceforge.net/nsis/nsis-2.46-setup.exe?download <tt>nsis-2.46-setup.exe</tt>] (2009-12-06)<br/><br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
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]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_43_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_43_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only a subset of the Boost libraries, thus only these required libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
Note: required by autopano-sift-c only, not by enblend or hugin. Untested and unchanged from MSVC 2008 version because autopano-sift-c untested.<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Note: Untested and unchanged from MSVC 2008 version because of patent restrictions for U.S.-based author ([[User:Helser|Aron Helser]]).<br/><br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
<br />
<br />
=== Nullsoft Scriptable Install System (NSIS) ===<br />
Note: Only needed to build Hugin Setup installer<br />
<ol><br />
<li>Run the NSIS installer, <tt>nsis-2.46-setup.exe</tt>, installing to the default location.</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
NSIS should be installed to <tt><DRIVE>\Program Files\NSIS</tt><br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=13313Hugin SDK (MSVC 2010)2011-03-21T16:17:43Z<p>Mpetroff: /* Building from Source */ Remove 7-zip</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Mercurial repository<br/><br />
<tt>http://hugin.hg.sourceforge.net:8000/hgroot/hugin/autopano-sift-C</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Mercurial repository<br/><tt>http://panotools.hg.sourceforge.net:8000/hgroot/panotools/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(autopano-sift-c only) libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (inutile si cygwin est installé) Utilitaires GNU portés sur plateforme Windows 32 bits (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18</tt> <br />
| style="padding:5px; text-align:left" | LittleCms Color management library (http://www.littlecms.com)<br/> [http://sourceforge.net/projects/lcms/files/lcms/1.18/lcms-1.18a.zip/download <tt>lcms-1.18a.zip</tt>] (2009-04-19)<br/><br />
2.0 has been released, but will require code updates to enblend.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building Hugin Setup (NSIS Installer)<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>NSIS</tt> <br />
| style="padding:5px; text-align:left" | Nullsoft Scriptable Install System (http://nsis.sourceforge.net/)<br/> [http://prdownloads.sourceforge.net/nsis/nsis-2.46-setup.exe?download <tt>nsis-2.46-setup.exe</tt>] (2009-12-06)<br/><br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
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]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_43_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_43_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only a subset of the Boost libraries, thus only these required libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
Note: required by autopano-sift-c only, not by enblend or hugin. Untested and unchanged from MSVC 2008 version because autopano-sift-c untested.<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Note: Untested and unchanged from MSVC 2008 version because of patent restrictions for U.S.-based author ([[User:Helser|Aron Helser]]).<br/><br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
<br />
<br />
=== Nullsoft Scriptable Install System (NSIS) ===<br />
Note: Only needed to build Hugin Setup installer<br />
<ol><br />
<li>Run the NSIS installer, <tt>nsis-2.46-setup.exe</tt>, installing to the default location.</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
NSIS should be installed to <tt><DRIVE>\Program Files\NSIS</tt><br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=13312Hugin SDK (MSVC 2010)2011-03-21T16:14:21Z<p>Mpetroff: /* 7-Zip */ 7za.exe is no longer needed.</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Mercurial repository<br/><br />
<tt>http://hugin.hg.sourceforge.net:8000/hgroot/hugin/autopano-sift-C</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Mercurial repository<br/><tt>http://panotools.hg.sourceforge.net:8000/hgroot/panotools/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(autopano-sift-c only) libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (inutile si cygwin est installé) Utilitaires GNU portés sur plateforme Windows 32 bits (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18</tt> <br />
| style="padding:5px; text-align:left" | LittleCms Color management library (http://www.littlecms.com)<br/> [http://sourceforge.net/projects/lcms/files/lcms/1.18/lcms-1.18a.zip/download <tt>lcms-1.18a.zip</tt>] (2009-04-19)<br/><br />
2.0 has been released, but will require code updates to enblend.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building Hugin Setup (NSIS Installer)<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>7za</tt> <br />
| style="padding:5px; text-align:left" | 7-Zip Command Line Version (http://7-zip.org/)<br/> [http://downloads.sourceforge.net/sevenzip/7za920.zip <tt>7za920.zip</tt>] (2010-11-18)<br/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>NSIS</tt> <br />
| style="padding:5px; text-align:left" | Nullsoft Scriptable Install System (http://nsis.sourceforge.net/)<br/> [http://prdownloads.sourceforge.net/nsis/nsis-2.46-setup.exe?download <tt>nsis-2.46-setup.exe</tt>] (2009-12-06)<br/><br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
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]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_43_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_43_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only a subset of the Boost libraries, thus only these required libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
Note: required by autopano-sift-c only, not by enblend or hugin. Untested and unchanged from MSVC 2008 version because autopano-sift-c untested.<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Note: Untested and unchanged from MSVC 2008 version because of patent restrictions for U.S.-based author ([[User:Helser|Aron Helser]]).<br/><br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
<br />
<br />
=== Nullsoft Scriptable Install System (NSIS) ===<br />
Note: Only needed to build Hugin Setup installer<br />
<ol><br />
<li>Run the NSIS installer, <tt>nsis-2.46-setup.exe</tt>, installing to the default location.</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
NSIS should be installed to <tt><DRIVE>\Program Files\NSIS</tt><br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=12870Hugin SDK (MSVC 2010)2010-11-27T18:36:58Z<p>Mpetroff: Added the resources required to build the Hugin Setup installer.</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Subversion repository<br/><tt>https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Release tar.gz, or </br>Subversion repository<br/><tt>https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(autopano-sift-c only) libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (skip if you have cygwin) GNU utilities ported to win32 platform (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18a</tt> <br />
| 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/><br />
2.0 has been released, but will require code updates to enblend.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building Hugin Setup (NSIS Installer)<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>7za</tt> <br />
| style="padding:5px; text-align:left" | 7-Zip Command Line Version (http://7-zip.org/)<br/> [http://downloads.sourceforge.net/sevenzip/7za920.zip <tt>7za920.zip</tt>] (2010-11-18)<br/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>NSIS</tt> <br />
| style="padding:5px; text-align:left" | Nullsoft Scriptable Install System (http://nsis.sourceforge.net/)<br/> [http://prdownloads.sourceforge.net/nsis/nsis-2.46-setup.exe?download <tt>nsis-2.46-setup.exe</tt>] (2009-12-06)<br/><br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
The download link for the patches is [http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443 http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_39_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_39_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only a subset of the Boost libraries, thus only these required libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
Note: required by autopano-sift-c only, not by enblend or hugin. Untested and unchanged from MSVC 2008 version because autopano-sift-c untested.<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Note: Untested and unchanged from MSVC 2008 version because of patent restrictions for U.S.-based author ([[User:Helser|Aron Helser]]).<br/><br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
=== 7-Zip ===<br />
Note: Only needed to build Hugin Setup installer<br />
<ol><br />
<li>Decompress the file <tt>7za920.zip</tt> to directory <tt><SDKHOME>\7Zip</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable resides in <tt><SDKHOME>\7Zip</tt>.<br />
<br />
=== Nullsoft Scriptable Install System (NSIS) ===<br />
Note: Only needed to build Hugin Setup installer<br />
<ol><br />
<li>Run the NSIS installer, <tt>nsis-2.46-setup.exe</tt>, installing to the default location.</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
NSIS should be installed to <tt><DRIVE>\Program Files\NSIS</tt><br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=12869Hugin SDK (MSVC 2010)2010-11-27T02:59:35Z<p>Mpetroff: /* Boost */ More Boost fixes.</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Subversion repository<br/><tt>https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Release tar.gz, or </br>Subversion repository<br/><tt>https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(autopano-sift-c only) libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (skip if you have cygwin) GNU utilities ported to win32 platform (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18a</tt> <br />
| 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/><br />
2.0 has been released, but will require code updates to enblend.<br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
The download link for the patches is [http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443 http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem --with-serialization toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_39_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_39_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only a subset of the Boost libraries, thus only these required libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
Note: required by autopano-sift-c only, not by enblend or hugin. Untested and unchanged from MSVC 2008 version because autopano-sift-c untested.<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Note: Untested and unchanged from MSVC 2008 version because of patent restrictions for U.S.-based author ([[User:Helser|Aron Helser]]).<br/><br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=12868Hugin SDK (MSVC 2010)2010-11-27T02:39:49Z<p>Mpetroff: /* Boost */ Fix required Boost libraries.</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Subversion repository<br/><tt>https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Release tar.gz, or </br>Subversion repository<br/><tt>https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(autopano-sift-c only) libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (skip if you have cygwin) GNU utilities ported to win32 platform (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18a</tt> <br />
| 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/><br />
2.0 has been released, but will require code updates to enblend.<br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
The download link for the patches is [http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443 http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams --with-filesystem toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_39_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_39_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only a subset of the Boost libraries, thus only these required libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
Note: required by autopano-sift-c only, not by enblend or hugin. Untested and unchanged from MSVC 2008 version because autopano-sift-c untested.<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Note: Untested and unchanged from MSVC 2008 version because of patent restrictions for U.S.-based author ([[User:Helser|Aron Helser]]).<br/><br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=12839Hugin SDK (MSVC 2010)2010-11-22T23:57:54Z<p>Mpetroff: /* Boost */ add newer boost dependencies</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Subversion repository<br/><tt>https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Release tar.gz, or </br>Subversion repository<br/><tt>https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(autopano-sift-c only) libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (skip if you have cygwin) GNU utilities ported to win32 platform (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18a</tt> <br />
| 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/><br />
2.0 has been released, but will require code updates to enblend.<br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
The download link for the patches is [http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443 http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread --with-system --with-signals --with-regex --with-iostreams toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_39_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_39_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only the two Boost libraries <tt>date_time</tt> and <tt>thread</tt>, thus only these two libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>TODO update reference for wxWidgets-2.8.11 (from wxWidgets-2.8.10 to wxWidgets-2.8.11)</li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
Note: required by autopano-sift-c only, not by enblend or hugin. Untested and unchanged from MSVC 2008 version because autopano-sift-c untested.<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Note: Untested and unchanged from MSVC 2008 version because of patent restrictions for U.S.-based author ([[User:Helser|Aron Helser]]).<br/><br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Install_Panotools-Script_on_Windows&diff=12717Install Panotools-Script on Windows2010-10-11T23:48:38Z<p>Mpetroff: Added new simplified method.</p>
<hr />
<div>'''Panotools::Script''' is a framework for scripting various panorama<br />
operations using the command-line tools shipped with [[hugin]], it has some<br />
[http://search.cpan.org/dist/Panotools-Script/ Documentation on CPAN].<br />
<br />
== Simplified Method ==<br />
=== Install Panotools::Script ===<br />
#Install required software:<br />
#* Install Strawberry Perl from http://strawberryperl.com/.<br />
#* Install ImageMagick (Win32 dynamic at 16 bits-per-pixel) from http://www.imagemagick.org/script/binary-releases.php.<br />
#Install Perl scripts:<br />
#* Open: Start Menu -> Strawberry Perl -> Tools -> CPAN Client<br />
#* Run the following commands:<br />
#*:<pre><br />
#*:notest install Panotools::Script Image::Magick<br />
#*:exit<br />
#*:</pre><br />
<br />
The latest version of '''Panotools::Script''' should now be installed. These packages will work fine on the computer on which they were built, but .exe tools may be desired in order to run on computers without Perl installed.<br />
<br />
=== Build .exe Tools (Optional) ===<br />
#Install required Perl scripts:<br />
#* Open: Start Menu -> Strawberry Perl -> Tools -> CPAN Client<br />
#* Run the following commands:<br />
#*:<pre><br />
#*:notest install PAR::Packer<br />
#*:exit<br />
#*:</pre><br />
#Build .exe tools:<br />
#* Open: Start Menu -> Strawberry Perl -> Perl (Command Line)<br />
#* Change directory to install directory:<br />
#*:<pre><br />
#*:cd <STRAWBERRY-PERL-HOME>\perl\site\bin<br />
#*:</pre><br />
#* Build desired .exe tools (replace <PACKAGE> with name of package):<br />
#*:<pre><br />
#*:pp -o <PACKAGE>.exe <PACKAGE><br />
#*:</pre><br />
<br />
== Perl ==<br />
<br />
'''Panotools::Script''' is a ''Perl module'', so for Windows you need to<br />
[http://www.activestate.com/store/activeperl/download/ download and install ActiveState Perl]<br />
first, I got the MSI installer for ActivePerl-5.8.8.822.<br />
<br />
For some reason, the installer doesn't set the PATH correctly for manually<br />
built modules, so go to '''Explorer''' -> '''My Computer''' -> '''right-click'''<br />
-> '''Properties''' -> '''Advanced''' -> '''Environment Variables''' -><br />
'''System variables'''. Scroll to '''Path''', click '''edit''', and add this path<br />
to the front of the existing list of paths:<br />
<br />
C:\Perl\site\bin; <br />
<br />
=== Image::ExifTool, Image::Size and Module::Build ===<br />
<br />
You need three extra ''modules'' that are not installed by default. So in the Activestate<br />
part of the ''Start menu'', run the Perl Package Manager (PPM). This can be used to<br />
install pre-built add-on modules, in this case you want to install ''Image-ExifTool'', ''Image-Size''<br />
and ''Module-Build''. Reboot after installing Module-Build, remember this ''is'' windows.<br />
<br />
== ImageMagick ==<br />
<br />
[[ImageMagick]] is a general purpose command-line image manipulation suite,<br />
'''Panotools::Script''' uses it for various purposes such as resizing and playing<br />
with alpha channels. I downloaded the ''Win32 dynamic at 16 bits-per-pixel'' version<br />
[http://www.imagemagick.org/script/binary-releases.php#windows from the ImageMagick site].<br />
<br />
== hugin ==<br />
<br />
Install [[hugin]] from the<br />
[http://sourceforge.net/project/showfiles.php?group_id=77506 sourceforge download area]<br />
if you haven't already. You need to fix the PATH again, add the hugin installation<br />
location the same as you did for ''Perl'' above:<br />
<br />
C:\Program Files\hugin\bin;<br />
<br />
== autotrace ==<br />
<br />
Autotrace is a tool for converting bitmap images to vector graphics, only<br />
install this if you plan on editing enblend masks in [http://inkscape.org/ Inkscape].<br />
<br />
[http://autotrace.sourceforge.net/index.html#download Download autotrace from here].<br />
You need to manually extract and install this one, put the folder containing<br />
the various DLLs and EXE files somewhere like '''C:\Program Files\autotrace''' and<br />
add this to your PATH as you did for Perl and hugin.<br />
<br />
== Panotools::Script ==<br />
<br />
[http://search.cpan.org/dist/Panotools-Script/ Download the latest source-code for Panotools::Script].<br />
This is a ''gzipped tar archive'', so you will need something like<br />
[http://www.7-zip.org/ 7-zip] to extract it.<br />
<br />
=== Download nmake ===<br />
<br />
''make'' is required to build and install Perl modules, [http://download.microsoft.com/download/vc15/patch/1.52/w95/en-us/nmake15.exe download nmake from Microsoft]<br />
and double-click it to extract. Copy NMAKE.EXE and NMAKE.ERR to the directory where you extracted the<br />
'''Panotools::Script''' sources.<br />
<br />
=== Test and install ===<br />
<br />
Open a ''command window'': Click '''Start''' -> '''Run...''' -> '''cmd''' -> '''OK'''.<br />
<br />
Change to the directory where you extracted the sources:<br />
<br />
cd Desktop\Panotools-Script-0.09<br />
<br />
Then run the tests:<br />
<br />
perl Makefile.PL<br />
nmake test<br />
<br />
The tests will produce lots of output and warnings, but at the end it should<br />
report 100% success. Finally install everything:<br />
<br />
nmake install<br />
<br />
== Creating .exe tools ==<br />
<br />
This step isn't necessary if you have perl installed, but may be useful to make the tools<br />
usable on systems without perl. The right tool for this is PAR::Packer, I couldn't get it<br />
to work with this version of perl (please update this HOWTO if you know), so I installed<br />
''App-Packer'' using Perl Package Manager (PPM).<br />
<br />
If you are lucky then you can just create the .exe files with the ''make_exe.pl'' script:<br />
<br />
perl bin\make_exe.pl<br />
<br />
I wasn't so lucky and had an error from a standard perl module ''bytes_heavy.pl'', which<br />
I fixed by pasting this code into ''C:\Perl\lib\bytes_heavy.pl''<br />
<br />
<source lang="pl"><br />
sub import {<br />
return unless $Have_Bytes;<br />
shift;<br />
unshift @_, 'bytes';<br />
goto &bytes::import;<br />
}<br />
</source><br />
<br />
Finally, you should be able to run the resulting .exe files on other<br />
Windows systems, though you will also need the copy the ''perl58.dll''<br />
file to the same destination.<br />
<br />
== Infrastructure to build the .exe tools - the new way ==<br />
<br />
this is highly experimental. it has been tested on PAR::Packer 0.980 released May 14, 2008. Works for 0.982 / July 29, 2008 as well.<br />
<br />
# Install MinGW - MSVC 2008 EE is not supported<br />
#* Download MinGW-5.1.4.exe from http://www.mingw.org/<br />
#* Follow default install, but add g++ to the mix, i.e. just click "Next" as often as needed, but on the screen where you can tick boxes to choose what to install, check the box with g++ (and leave anything else as is. It will be installed in C:\MinGW<br />
#* Run the now installed C:\MinGW\MinGW-5.1.4.exe to ensure you get the latest updates.<br />
# Install ActiveState Perl 5.10.0 build 1002 (other versions may also work, this is the one that worked for me)<br />
# start the Perl Package Manager (PPM), search and install the following packages<br />
#* Getopt-ArgvFile (>=1.07)<br />
#* Module-ScanDeps (>=0.78)<br />
#* PAR-Dist (>=0.22)<br />
#* Parse-Binary (>=0.10)<br />
# Download dmake from http://search.cpan.org/dist/dmake/<br />
# Extract dmake to C:\MinGW so that you have a folder called C:\MinGW\dmake <br />
# Make yourself an environment batch file, call it perl.bat, with the following content:<br />
#:<pre><br />
#:set MINGW_PATH=C:\MinGW<br />
#:set PERL_PATH=C:\Perl<br />
#:set PATH=%MINGW_PATH%\bin;%MINGW_PATH%\mingw32\bin;%MINGW_PATH%\dmake;<br />
#:set PATH=%PATH%C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;<br />
#:set LIB=%MINGW_PATH%\lib;<br />
#:set INCLUDE=%MINGW_PATH%\include;<br />
#:set PATH=%PERL_PATH%\site\bin;%PERL_PATH%\bin;%PATH%<br />
#:cmd /K<br />
#:</pre><br />
# install manually Win32-exe, Par and Par-Packer.<br />
#* get them from:<br />
#** [http://search.cpan.org/~smueller/PAR-Packer-0.980/lib/PAR/Packer.pm PAR-packer]<br />
#** [http://search.cpan.org/~smueller/Win32-Exe-0.11/lib/Win32/Exe.pm Win-Exe]<br />
#** [http://search.cpan.org/~smueller/PAR-1.002/lib/PAR.pm PAR]<br />
#* extract them to a temporary folder<br />
#* doubleclick on perl.bat to start a CLI<br />
#* in the CLI, run the following commands<br />
#*:<pre><br />
#*: > perl Makefile.PL<br />
#*: > dmake<br />
#*: > dmake test<br />
#*: > dmake install<br />
#*:</pre><br />
# test your installation<br />
#* create a file test.pl with the following content:<br />
#*:<pre><br />
#*: #!/usr/bin/perl<br />
#*: print "hello world!\n";<br />
#*:</pre><br />
#* in the CLI, check it works<br />
#*:<pre><br />
#*: perl test.pl<br />
#*:</pre><br />
#* compile it<br />
#*:<pre><br />
#*: pp -o test.exe test.pl<br />
#*:</pre><br />
#* test it<br />
#*:<pre><br />
#*: test.exe<br />
#*:</pre><br />
#<strong>contribute back!</strong> If you have come so far, it is because volunteers have helped you. Those volunteers need your help in turn.<br />
#* Subscribe to the PAR::Packer [http://lists.cpan.org/showlist.cgi?name=par mailing list]. <br />
#* From time to time there will be a request like [http://www.nntp.perl.org/group/perl.par/2008/07/msg3649.html this] one.<br />
#* when you see the request, download the latest packages and repeat the above step 7.<br />
#* when processing the PAR-packer temporary folder, after dmake test, issue a<br />
#*:<pre><br />
#*: dmake par<br />
#*:</pre><br />
#* In the temporary folder there should now be a file named '''PAR-Packer-0.980-MSWin32-x86-multi-thread-5.10.0.par''' or something similar. Upload that file somewhere and announce it to the mailing list.<br />
#* if you want to intall the latest PAR-Packer, continue with dmake install.<br />
<br />
The perl58.dll is no longer required.<br />
<br />
<small><br />
[[User:Yuval|Yuval]] 23:09, 15 May 2008 (CEST) with help from Mark Dootson and the PAR::Packer community<br />
</small><br />
<br />
[[Category:Tutorial:Nice to know]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Install_Panotools-Script_on_Windows&diff=12707Install Panotools-Script on Windows2010-10-09T23:43:43Z<p>Mpetroff: /* Infrastructure to build the .exe tools - the new way */ fixed PAR link</p>
<hr />
<div>'''Panotools::Script''' is a framework for scripting various panorama<br />
operations using the command-line tools shipped with [[hugin]], it has some<br />
[http://search.cpan.org/dist/Panotools-Script/ Documentation on CPAN].<br />
<br />
== Perl ==<br />
<br />
'''Panotools::Script''' is a ''Perl module'', so for Windows you need to<br />
[http://www.activestate.com/store/activeperl/download/ download and install ActiveState Perl]<br />
first, I got the MSI installer for ActivePerl-5.8.8.822.<br />
<br />
For some reason, the installer doesn't set the PATH correctly for manually<br />
built modules, so go to '''Explorer''' -> '''My Computer''' -> '''right-click'''<br />
-> '''Properties''' -> '''Advanced''' -> '''Environment Variables''' -><br />
'''System variables'''. Scroll to '''Path''', click '''edit''', and add this path<br />
to the front of the existing list of paths:<br />
<br />
C:\Perl\site\bin; <br />
<br />
=== Image::ExifTool, Image::Size and Module::Build ===<br />
<br />
You need three extra ''modules'' that are not installed by default. So in the Activestate<br />
part of the ''Start menu'', run the Perl Package Manager (PPM). This can be used to<br />
install pre-built add-on modules, in this case you want to install ''Image-ExifTool'', ''Image-Size''<br />
and ''Module-Build''. Reboot after installing Module-Build, remember this ''is'' windows.<br />
<br />
== ImageMagick ==<br />
<br />
[[ImageMagick]] is a general purpose command-line image manipulation suite,<br />
'''Panotools::Script''' uses it for various purposes such as resizing and playing<br />
with alpha channels. I downloaded the ''Win32 dynamic at 16 bits-per-pixel'' version<br />
[http://www.imagemagick.org/script/binary-releases.php#windows from the ImageMagick site].<br />
<br />
== hugin ==<br />
<br />
Install [[hugin]] from the<br />
[http://sourceforge.net/project/showfiles.php?group_id=77506 sourceforge download area]<br />
if you haven't already. You need to fix the PATH again, add the hugin installation<br />
location the same as you did for ''Perl'' above:<br />
<br />
C:\Program Files\hugin\bin;<br />
<br />
== autotrace ==<br />
<br />
Autotrace is a tool for converting bitmap images to vector graphics, only<br />
install this if you plan on editing enblend masks in [http://inkscape.org/ Inkscape].<br />
<br />
[http://autotrace.sourceforge.net/index.html#download Download autotrace from here].<br />
You need to manually extract and install this one, put the folder containing<br />
the various DLLs and EXE files somewhere like '''C:\Program Files\autotrace''' and<br />
add this to your PATH as you did for Perl and hugin.<br />
<br />
== Panotools::Script ==<br />
<br />
[http://search.cpan.org/dist/Panotools-Script/ Download the latest source-code for Panotools::Script].<br />
This is a ''gzipped tar archive'', so you will need something like<br />
[http://www.7-zip.org/ 7-zip] to extract it.<br />
<br />
=== Download nmake ===<br />
<br />
''make'' is required to build and install Perl modules, [http://download.microsoft.com/download/vc15/patch/1.52/w95/en-us/nmake15.exe download nmake from Microsoft]<br />
and double-click it to extract. Copy NMAKE.EXE and NMAKE.ERR to the directory where you extracted the<br />
'''Panotools::Script''' sources.<br />
<br />
=== Test and install ===<br />
<br />
Open a ''command window'': Click '''Start''' -> '''Run...''' -> '''cmd''' -> '''OK'''.<br />
<br />
Change to the directory where you extracted the sources:<br />
<br />
cd Desktop\Panotools-Script-0.09<br />
<br />
Then run the tests:<br />
<br />
perl Makefile.PL<br />
nmake test<br />
<br />
The tests will produce lots of output and warnings, but at the end it should<br />
report 100% success. Finally install everything:<br />
<br />
nmake install<br />
<br />
== Creating .exe tools ==<br />
<br />
This step isn't necessary if you have perl installed, but may be useful to make the tools<br />
usable on systems without perl. The right tool for this is PAR::Packer, I couldn't get it<br />
to work with this version of perl (please update this HOWTO if you know), so I installed<br />
''App-Packer'' using Perl Package Manager (PPM).<br />
<br />
If you are lucky then you can just create the .exe files with the ''make_exe.pl'' script:<br />
<br />
perl bin\make_exe.pl<br />
<br />
I wasn't so lucky and had an error from a standard perl module ''bytes_heavy.pl'', which<br />
I fixed by pasting this code into ''C:\Perl\lib\bytes_heavy.pl''<br />
<br />
<source lang="pl"><br />
sub import {<br />
return unless $Have_Bytes;<br />
shift;<br />
unshift @_, 'bytes';<br />
goto &bytes::import;<br />
}<br />
</source><br />
<br />
Finally, you should be able to run the resulting .exe files on other<br />
Windows systems, though you will also need the copy the ''perl58.dll''<br />
file to the same destination.<br />
<br />
== Infrastructure to build the .exe tools - the new way ==<br />
<br />
this is highly experimental. it has been tested on PAR::Packer 0.980 released May 14, 2008. Works for 0.982 / July 29, 2008 as well.<br />
<br />
# Install MinGW - MSVC 2008 EE is not supported<br />
#* Download MinGW-5.1.4.exe from http://www.mingw.org/<br />
#* Follow default install, but add g++ to the mix, i.e. just click "Next" as often as needed, but on the screen where you can tick boxes to choose what to install, check the box with g++ (and leave anything else as is. It will be installed in C:\MinGW<br />
#* Run the now installed C:\MinGW\MinGW-5.1.4.exe to ensure you get the latest updates.<br />
# Install ActiveState Perl 5.10.0 build 1002 (other versions may also work, this is the one that worked for me)<br />
# start the Perl Package Manager (PPM), search and install the following packages<br />
#* Getopt-ArgvFile (>=1.07)<br />
#* Module-ScanDeps (>=0.78)<br />
#* PAR-Dist (>=0.22)<br />
#* Parse-Binary (>=0.10)<br />
# Download dmake from http://search.cpan.org/dist/dmake/<br />
# Extract dmake to C:\MinGW so that you have a folder called C:\MinGW\dmake <br />
# Make yourself an environment batch file, call it perl.bat, with the following content:<br />
#:<pre><br />
#:set MINGW_PATH=C:\MinGW<br />
#:set PERL_PATH=C:\Perl<br />
#:set PATH=%MINGW_PATH%\bin;%MINGW_PATH%\mingw32\bin;%MINGW_PATH%\dmake;<br />
#:set PATH=%PATH%C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;<br />
#:set LIB=%MINGW_PATH%\lib;<br />
#:set INCLUDE=%MINGW_PATH%\include;<br />
#:set PATH=%PERL_PATH%\site\bin;%PERL_PATH%\bin;%PATH%<br />
#:cmd /K<br />
#:</pre><br />
# install manually Win32-exe, Par and Par-Packer.<br />
#* get them from:<br />
#** [http://search.cpan.org/~smueller/PAR-Packer-0.980/lib/PAR/Packer.pm PAR-packer]<br />
#** [http://search.cpan.org/~smueller/Win32-Exe-0.11/lib/Win32/Exe.pm Win-Exe]<br />
#** [http://search.cpan.org/~smueller/PAR-1.002/lib/PAR.pm PAR]<br />
#* extract them to a temporary folder<br />
#* doubleclick on perl.bat to start a CLI<br />
#* in the CLI, run the following commands<br />
#*:<pre><br />
#*: > perl Makefile.PL<br />
#*: > dmake<br />
#*: > dmake test<br />
#*: > dmake install<br />
#*:</pre><br />
# test your installation<br />
#* create a file test.pl with the following content:<br />
#*:<pre><br />
#*: #!/usr/bin/perl<br />
#*: print "hello world!\n";<br />
#*:</pre><br />
#* in the CLI, check it works<br />
#*:<pre><br />
#*: perl test.pl<br />
#*:</pre><br />
#* compile it<br />
#*:<pre><br />
#*: pp -o test.exe test.pl<br />
#*:</pre><br />
#* test it<br />
#*:<pre><br />
#*: test.exe<br />
#*:</pre><br />
#<strong>contribute back!</strong> If you have come so far, it is because volunteers have helped you. Those volunteers need your help in turn.<br />
#* Subscribe to the PAR::Packer [http://lists.cpan.org/showlist.cgi?name=par mailing list]. <br />
#* From time to time there will be a request like [http://www.nntp.perl.org/group/perl.par/2008/07/msg3649.html this] one.<br />
#* when you see the request, download the latest packages and repeat the above step 7.<br />
#* when processing the PAR-packer temporary folder, after dmake test, issue a<br />
#*:<pre><br />
#*: dmake par<br />
#*:</pre><br />
#* In the temporary folder there should now be a file named '''PAR-Packer-0.980-MSWin32-x86-multi-thread-5.10.0.par''' or something similar. Upload that file somewhere and announce it to the mailing list.<br />
#* if you want to intall the latest PAR-Packer, continue with dmake install.<br />
<br />
The perl58.dll is no longer required.<br />
<br />
<small><br />
[[User:Yuval|Yuval]] 23:09, 15 May 2008 (CEST) with help from Mark Dootson and the PAR::Packer community<br />
</small><br />
<br />
[[Category:Tutorial:Nice to know]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Install_Panotools-Script_on_Windows&diff=12706Install Panotools-Script on Windows2010-10-09T23:39:21Z<p>Mpetroff: /* Infrastructure to build the .exe tools - the new way */ correct dmake link</p>
<hr />
<div>'''Panotools::Script''' is a framework for scripting various panorama<br />
operations using the command-line tools shipped with [[hugin]], it has some<br />
[http://search.cpan.org/dist/Panotools-Script/ Documentation on CPAN].<br />
<br />
== Perl ==<br />
<br />
'''Panotools::Script''' is a ''Perl module'', so for Windows you need to<br />
[http://www.activestate.com/store/activeperl/download/ download and install ActiveState Perl]<br />
first, I got the MSI installer for ActivePerl-5.8.8.822.<br />
<br />
For some reason, the installer doesn't set the PATH correctly for manually<br />
built modules, so go to '''Explorer''' -> '''My Computer''' -> '''right-click'''<br />
-> '''Properties''' -> '''Advanced''' -> '''Environment Variables''' -><br />
'''System variables'''. Scroll to '''Path''', click '''edit''', and add this path<br />
to the front of the existing list of paths:<br />
<br />
C:\Perl\site\bin; <br />
<br />
=== Image::ExifTool, Image::Size and Module::Build ===<br />
<br />
You need three extra ''modules'' that are not installed by default. So in the Activestate<br />
part of the ''Start menu'', run the Perl Package Manager (PPM). This can be used to<br />
install pre-built add-on modules, in this case you want to install ''Image-ExifTool'', ''Image-Size''<br />
and ''Module-Build''. Reboot after installing Module-Build, remember this ''is'' windows.<br />
<br />
== ImageMagick ==<br />
<br />
[[ImageMagick]] is a general purpose command-line image manipulation suite,<br />
'''Panotools::Script''' uses it for various purposes such as resizing and playing<br />
with alpha channels. I downloaded the ''Win32 dynamic at 16 bits-per-pixel'' version<br />
[http://www.imagemagick.org/script/binary-releases.php#windows from the ImageMagick site].<br />
<br />
== hugin ==<br />
<br />
Install [[hugin]] from the<br />
[http://sourceforge.net/project/showfiles.php?group_id=77506 sourceforge download area]<br />
if you haven't already. You need to fix the PATH again, add the hugin installation<br />
location the same as you did for ''Perl'' above:<br />
<br />
C:\Program Files\hugin\bin;<br />
<br />
== autotrace ==<br />
<br />
Autotrace is a tool for converting bitmap images to vector graphics, only<br />
install this if you plan on editing enblend masks in [http://inkscape.org/ Inkscape].<br />
<br />
[http://autotrace.sourceforge.net/index.html#download Download autotrace from here].<br />
You need to manually extract and install this one, put the folder containing<br />
the various DLLs and EXE files somewhere like '''C:\Program Files\autotrace''' and<br />
add this to your PATH as you did for Perl and hugin.<br />
<br />
== Panotools::Script ==<br />
<br />
[http://search.cpan.org/dist/Panotools-Script/ Download the latest source-code for Panotools::Script].<br />
This is a ''gzipped tar archive'', so you will need something like<br />
[http://www.7-zip.org/ 7-zip] to extract it.<br />
<br />
=== Download nmake ===<br />
<br />
''make'' is required to build and install Perl modules, [http://download.microsoft.com/download/vc15/patch/1.52/w95/en-us/nmake15.exe download nmake from Microsoft]<br />
and double-click it to extract. Copy NMAKE.EXE and NMAKE.ERR to the directory where you extracted the<br />
'''Panotools::Script''' sources.<br />
<br />
=== Test and install ===<br />
<br />
Open a ''command window'': Click '''Start''' -> '''Run...''' -> '''cmd''' -> '''OK'''.<br />
<br />
Change to the directory where you extracted the sources:<br />
<br />
cd Desktop\Panotools-Script-0.09<br />
<br />
Then run the tests:<br />
<br />
perl Makefile.PL<br />
nmake test<br />
<br />
The tests will produce lots of output and warnings, but at the end it should<br />
report 100% success. Finally install everything:<br />
<br />
nmake install<br />
<br />
== Creating .exe tools ==<br />
<br />
This step isn't necessary if you have perl installed, but may be useful to make the tools<br />
usable on systems without perl. The right tool for this is PAR::Packer, I couldn't get it<br />
to work with this version of perl (please update this HOWTO if you know), so I installed<br />
''App-Packer'' using Perl Package Manager (PPM).<br />
<br />
If you are lucky then you can just create the .exe files with the ''make_exe.pl'' script:<br />
<br />
perl bin\make_exe.pl<br />
<br />
I wasn't so lucky and had an error from a standard perl module ''bytes_heavy.pl'', which<br />
I fixed by pasting this code into ''C:\Perl\lib\bytes_heavy.pl''<br />
<br />
<source lang="pl"><br />
sub import {<br />
return unless $Have_Bytes;<br />
shift;<br />
unshift @_, 'bytes';<br />
goto &bytes::import;<br />
}<br />
</source><br />
<br />
Finally, you should be able to run the resulting .exe files on other<br />
Windows systems, though you will also need the copy the ''perl58.dll''<br />
file to the same destination.<br />
<br />
== Infrastructure to build the .exe tools - the new way ==<br />
<br />
this is highly experimental. it has been tested on PAR::Packer 0.980 released May 14, 2008. Works for 0.982 / July 29, 2008 as well.<br />
<br />
# Install MinGW - MSVC 2008 EE is not supported<br />
#* Download MinGW-5.1.4.exe from http://www.mingw.org/<br />
#* Follow default install, but add g++ to the mix, i.e. just click "Next" as often as needed, but on the screen where you can tick boxes to choose what to install, check the box with g++ (and leave anything else as is. It will be installed in C:\MinGW<br />
#* Run the now installed C:\MinGW\MinGW-5.1.4.exe to ensure you get the latest updates.<br />
# Install ActiveState Perl 5.10.0 build 1002 (other versions may also work, this is the one that worked for me)<br />
# start the Perl Package Manager (PPM), search and install the following packages<br />
#* Getopt-ArgvFile (>=1.07)<br />
#* Module-ScanDeps (>=0.78)<br />
#* PAR-Dist (>=0.22)<br />
#* Parse-Binary (>=0.10)<br />
# Download dmake from http://search.cpan.org/dist/dmake/<br />
# Extract dmake to C:\MinGW so that you have a folder called C:\MinGW\dmake <br />
# Make yourself an environment batch file, call it perl.bat, with the following content:<br />
#:<pre><br />
#:set MINGW_PATH=C:\MinGW<br />
#:set PERL_PATH=C:\Perl<br />
#:set PATH=%MINGW_PATH%\bin;%MINGW_PATH%\mingw32\bin;%MINGW_PATH%\dmake;<br />
#:set PATH=%PATH%C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;<br />
#:set LIB=%MINGW_PATH%\lib;<br />
#:set INCLUDE=%MINGW_PATH%\include;<br />
#:set PATH=%PERL_PATH%\site\bin;%PERL_PATH%\bin;%PATH%<br />
#:cmd /K<br />
#:</pre><br />
# install manually Win32-exe, Par and Par-Packer.<br />
#* get them from:<br />
#** [http://search.cpan.org/~smueller/PAR-Packer-0.980/lib/PAR/Packer.pm PAR-packer]<br />
#** [http://search.cpan.org/~smueller/Win32-Exe-0.11/lib/Win32/Exe.pm Win-Exe]<br />
#** [http://search.cpan.org/~smueller/PAR-0.977/lib/PAR.pm PAR]<br />
#* extract them to a temporary folder<br />
#* doubleclick on perl.bat to start a CLI<br />
#* in the CLI, run the following commands<br />
#*:<pre><br />
#*: > perl Makefile.PL<br />
#*: > dmake<br />
#*: > dmake test<br />
#*: > dmake install<br />
#*:</pre><br />
# test your installation<br />
#* create a file test.pl with the following content:<br />
#*:<pre><br />
#*: #!/usr/bin/perl<br />
#*: print "hello world!\n";<br />
#*:</pre><br />
#* in the CLI, check it works<br />
#*:<pre><br />
#*: perl test.pl<br />
#*:</pre><br />
#* compile it<br />
#*:<pre><br />
#*: pp -o test.exe test.pl<br />
#*:</pre><br />
#* test it<br />
#*:<pre><br />
#*: test.exe<br />
#*:</pre><br />
#<strong>contribute back!</strong> If you have come so far, it is because volunteers have helped you. Those volunteers need your help in turn.<br />
#* Subscribe to the PAR::Packer [http://lists.cpan.org/showlist.cgi?name=par mailing list]. <br />
#* From time to time there will be a request like [http://www.nntp.perl.org/group/perl.par/2008/07/msg3649.html this] one.<br />
#* when you see the request, download the latest packages and repeat the above step 7.<br />
#* when processing the PAR-packer temporary folder, after dmake test, issue a<br />
#*:<pre><br />
#*: dmake par<br />
#*:</pre><br />
#* In the temporary folder there should now be a file named '''PAR-Packer-0.980-MSWin32-x86-multi-thread-5.10.0.par''' or something similar. Upload that file somewhere and announce it to the mailing list.<br />
#* if you want to intall the latest PAR-Packer, continue with dmake install.<br />
<br />
The perl58.dll is no longer required.<br />
<br />
<small><br />
[[User:Yuval|Yuval]] 23:09, 15 May 2008 (CEST) with help from Mark Dootson and the PAR::Packer community<br />
</small><br />
<br />
[[Category:Tutorial:Nice to know]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Install_Panotools-Script_on_Windows&diff=12705Install Panotools-Script on Windows2010-10-09T23:34:51Z<p>Mpetroff: /* Infrastructure to build the .exe tools - the new way */ minor corrections to Perl packages</p>
<hr />
<div>'''Panotools::Script''' is a framework for scripting various panorama<br />
operations using the command-line tools shipped with [[hugin]], it has some<br />
[http://search.cpan.org/dist/Panotools-Script/ Documentation on CPAN].<br />
<br />
== Perl ==<br />
<br />
'''Panotools::Script''' is a ''Perl module'', so for Windows you need to<br />
[http://www.activestate.com/store/activeperl/download/ download and install ActiveState Perl]<br />
first, I got the MSI installer for ActivePerl-5.8.8.822.<br />
<br />
For some reason, the installer doesn't set the PATH correctly for manually<br />
built modules, so go to '''Explorer''' -> '''My Computer''' -> '''right-click'''<br />
-> '''Properties''' -> '''Advanced''' -> '''Environment Variables''' -><br />
'''System variables'''. Scroll to '''Path''', click '''edit''', and add this path<br />
to the front of the existing list of paths:<br />
<br />
C:\Perl\site\bin; <br />
<br />
=== Image::ExifTool, Image::Size and Module::Build ===<br />
<br />
You need three extra ''modules'' that are not installed by default. So in the Activestate<br />
part of the ''Start menu'', run the Perl Package Manager (PPM). This can be used to<br />
install pre-built add-on modules, in this case you want to install ''Image-ExifTool'', ''Image-Size''<br />
and ''Module-Build''. Reboot after installing Module-Build, remember this ''is'' windows.<br />
<br />
== ImageMagick ==<br />
<br />
[[ImageMagick]] is a general purpose command-line image manipulation suite,<br />
'''Panotools::Script''' uses it for various purposes such as resizing and playing<br />
with alpha channels. I downloaded the ''Win32 dynamic at 16 bits-per-pixel'' version<br />
[http://www.imagemagick.org/script/binary-releases.php#windows from the ImageMagick site].<br />
<br />
== hugin ==<br />
<br />
Install [[hugin]] from the<br />
[http://sourceforge.net/project/showfiles.php?group_id=77506 sourceforge download area]<br />
if you haven't already. You need to fix the PATH again, add the hugin installation<br />
location the same as you did for ''Perl'' above:<br />
<br />
C:\Program Files\hugin\bin;<br />
<br />
== autotrace ==<br />
<br />
Autotrace is a tool for converting bitmap images to vector graphics, only<br />
install this if you plan on editing enblend masks in [http://inkscape.org/ Inkscape].<br />
<br />
[http://autotrace.sourceforge.net/index.html#download Download autotrace from here].<br />
You need to manually extract and install this one, put the folder containing<br />
the various DLLs and EXE files somewhere like '''C:\Program Files\autotrace''' and<br />
add this to your PATH as you did for Perl and hugin.<br />
<br />
== Panotools::Script ==<br />
<br />
[http://search.cpan.org/dist/Panotools-Script/ Download the latest source-code for Panotools::Script].<br />
This is a ''gzipped tar archive'', so you will need something like<br />
[http://www.7-zip.org/ 7-zip] to extract it.<br />
<br />
=== Download nmake ===<br />
<br />
''make'' is required to build and install Perl modules, [http://download.microsoft.com/download/vc15/patch/1.52/w95/en-us/nmake15.exe download nmake from Microsoft]<br />
and double-click it to extract. Copy NMAKE.EXE and NMAKE.ERR to the directory where you extracted the<br />
'''Panotools::Script''' sources.<br />
<br />
=== Test and install ===<br />
<br />
Open a ''command window'': Click '''Start''' -> '''Run...''' -> '''cmd''' -> '''OK'''.<br />
<br />
Change to the directory where you extracted the sources:<br />
<br />
cd Desktop\Panotools-Script-0.09<br />
<br />
Then run the tests:<br />
<br />
perl Makefile.PL<br />
nmake test<br />
<br />
The tests will produce lots of output and warnings, but at the end it should<br />
report 100% success. Finally install everything:<br />
<br />
nmake install<br />
<br />
== Creating .exe tools ==<br />
<br />
This step isn't necessary if you have perl installed, but may be useful to make the tools<br />
usable on systems without perl. The right tool for this is PAR::Packer, I couldn't get it<br />
to work with this version of perl (please update this HOWTO if you know), so I installed<br />
''App-Packer'' using Perl Package Manager (PPM).<br />
<br />
If you are lucky then you can just create the .exe files with the ''make_exe.pl'' script:<br />
<br />
perl bin\make_exe.pl<br />
<br />
I wasn't so lucky and had an error from a standard perl module ''bytes_heavy.pl'', which<br />
I fixed by pasting this code into ''C:\Perl\lib\bytes_heavy.pl''<br />
<br />
<source lang="pl"><br />
sub import {<br />
return unless $Have_Bytes;<br />
shift;<br />
unshift @_, 'bytes';<br />
goto &bytes::import;<br />
}<br />
</source><br />
<br />
Finally, you should be able to run the resulting .exe files on other<br />
Windows systems, though you will also need the copy the ''perl58.dll''<br />
file to the same destination.<br />
<br />
== Infrastructure to build the .exe tools - the new way ==<br />
<br />
this is highly experimental. it has been tested on PAR::Packer 0.980 released May 14, 2008. Works for 0.982 / July 29, 2008 as well.<br />
<br />
# Install MinGW - MSVC 2008 EE is not supported<br />
#* Download MinGW-5.1.4.exe from http://www.mingw.org/<br />
#* Follow default install, but add g++ to the mix, i.e. just click "Next" as often as needed, but on the screen where you can tick boxes to choose what to install, check the box with g++ (and leave anything else as is. It will be installed in C:\MinGW<br />
#* Run the now installed C:\MinGW\MinGW-5.1.4.exe to ensure you get the latest updates.<br />
# Install ActiveState Perl 5.10.0 build 1002 (other versions may also work, this is the one that worked for me)<br />
# start the Perl Package Manager (PPM), search and install the following packages<br />
#* Getopt-ArgvFile (>=1.07)<br />
#* Module-ScanDeps (>=0.78)<br />
#* PAR-Dist (>=0.22)<br />
#* Parse-Binary (>=0.10)<br />
# Download dmake from http://search.cpan.org/~shay/dmake-4.11-20080107-SHAY/<br />
# Extract dmake to C:\MinGW so that you have a folder called C:\MinGW\dmake <br />
# Make yourself an environment batch file, call it perl.bat, with the following content:<br />
#:<pre><br />
#:set MINGW_PATH=C:\MinGW<br />
#:set PERL_PATH=C:\Perl<br />
#:set PATH=%MINGW_PATH%\bin;%MINGW_PATH%\mingw32\bin;%MINGW_PATH%\dmake;<br />
#:set PATH=%PATH%C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;<br />
#:set LIB=%MINGW_PATH%\lib;<br />
#:set INCLUDE=%MINGW_PATH%\include;<br />
#:set PATH=%PERL_PATH%\site\bin;%PERL_PATH%\bin;%PATH%<br />
#:cmd /K<br />
#:</pre><br />
# install manually Win32-exe, Par and Par-Packer.<br />
#* get them from:<br />
#** [http://search.cpan.org/~smueller/PAR-Packer-0.980/lib/PAR/Packer.pm PAR-packer]<br />
#** [http://search.cpan.org/~smueller/Win32-Exe-0.11/lib/Win32/Exe.pm Win-Exe]<br />
#** [http://search.cpan.org/~smueller/PAR-0.977/lib/PAR.pm PAR]<br />
#* extract them to a temporary folder<br />
#* doubleclick on perl.bat to start a CLI<br />
#* in the CLI, run the following commands<br />
#*:<pre><br />
#*: > perl Makefile.PL<br />
#*: > dmake<br />
#*: > dmake test<br />
#*: > dmake install<br />
#*:</pre><br />
# test your installation<br />
#* create a file test.pl with the following content:<br />
#*:<pre><br />
#*: #!/usr/bin/perl<br />
#*: print "hello world!\n";<br />
#*:</pre><br />
#* in the CLI, check it works<br />
#*:<pre><br />
#*: perl test.pl<br />
#*:</pre><br />
#* compile it<br />
#*:<pre><br />
#*: pp -o test.exe test.pl<br />
#*:</pre><br />
#* test it<br />
#*:<pre><br />
#*: test.exe<br />
#*:</pre><br />
#<strong>contribute back!</strong> If you have come so far, it is because volunteers have helped you. Those volunteers need your help in turn.<br />
#* Subscribe to the PAR::Packer [http://lists.cpan.org/showlist.cgi?name=par mailing list]. <br />
#* From time to time there will be a request like [http://www.nntp.perl.org/group/perl.par/2008/07/msg3649.html this] one.<br />
#* when you see the request, download the latest packages and repeat the above step 7.<br />
#* when processing the PAR-packer temporary folder, after dmake test, issue a<br />
#*:<pre><br />
#*: dmake par<br />
#*:</pre><br />
#* In the temporary folder there should now be a file named '''PAR-Packer-0.980-MSWin32-x86-multi-thread-5.10.0.par''' or something similar. Upload that file somewhere and announce it to the mailing list.<br />
#* if you want to intall the latest PAR-Packer, continue with dmake install.<br />
<br />
The perl58.dll is no longer required.<br />
<br />
<small><br />
[[User:Yuval|Yuval]] 23:09, 15 May 2008 (CEST) with help from Mark Dootson and the PAR::Packer community<br />
</small><br />
<br />
[[Category:Tutorial:Nice to know]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=12662Hugin SDK (MSVC 2010)2010-09-26T22:33:52Z<p>Mpetroff: /* Enblend and Enfuse */ Added step to get enblend/enfuse to build with GPU support enabled</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Subversion repository<br/><tt>https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Release tar.gz, or </br>Subversion repository<br/><tt>https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (skip if you have cygwin) GNU utilities ported to win32 platform (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18a</tt> <br />
| 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/><br />
2.0 has been released, but will require code updates to enblend.<br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
The download link for the patches is [http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443 http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_39_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_39_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only the two Boost libraries <tt>date_time</tt> and <tt>thread</tt>, thus only these two libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<li>If one checked ENABLE_GPU in CMake, one must add FREEGLUT_STATIC to the preprocessor definitions of the enblend and enfuse projects.</li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=12659Hugin SDK (MSVC 2010)2010-09-26T03:40:11Z<p>Mpetroff: /* OpenEXR */ changes so half.lib will build</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Subversion repository<br/><tt>https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Release tar.gz, or </br>Subversion repository<br/><tt>https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (skip if you have cygwin) GNU utilities ported to win32 platform (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18a</tt> <br />
| 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/><br />
2.0 has been released, but will require code updates to enblend.<br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
The download link for the patches is [http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443 http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_39_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_39_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only the two Boost libraries <tt>date_time</tt> and <tt>thread</tt>, thus only these two libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li> ? For 64-bit, find the lines "HALF_EXPORT_CONST half::uif half::_toFloat[1 << 16] =" and "HALF_EXPORT_CONST unsigned short half::_eLut[1 << 9] =" in half.cpp and append "{};" to the end of each of them.<br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=12658Hugin SDK (MSVC 2010)2010-09-26T01:15:54Z<p>Mpetroff: /* GLEW */ minor change</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Subversion repository<br/><tt>https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Release tar.gz, or </br>Subversion repository<br/><tt>https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (skip if you have cygwin) GNU utilities ported to win32 platform (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18a</tt> <br />
| 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/><br />
2.0 has been released, but will require code updates to enblend.<br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
The download link for the patches is [http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443 http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_39_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_39_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only the two Boost libraries <tt>date_time</tt> and <tt>thread</tt>, thus only these two libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroffhttps://wiki.panotools.org/index.php?title=Hugin_SDK_(MSVC_2010)&diff=12657Hugin SDK (MSVC 2010)2010-09-26T00:33:58Z<p>Mpetroff: /* Expat */ minor correction</p>
<hr />
<div>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 will eventually give step-by-step instructions to build such SDK for Hugin using Microsoft Visual C++ 2010 (MSVC 2010) Express Edition and precompiled dependencies. <br />
<br />
'''Note: Work in Progress''': The SDK, Hugin and enblend have all been built successfully with MSVC 2010 Express, on Windows 7 x64 Professional, as of July 6, 2010. However, the instructions below are probably not complete, and may be specific to Windows 7. This article has been copied wholesale from [[Hugin SDK (MSVC 2008)]], and has been updated as the steps were successfully completed. <br />
<br />
This article will construct native 32-bit and 64-bit versions. 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.<br />
<br />
First of all an overview is given over the contents of the SDK and the tools that are necessary to build the SDK.<br />
<br />
The build steps for each component are written like a walk-through and annotated on the end of each section.<br />
<br />
Maybe some of the described tools and packages, especially those fetched from Mercurial (Hg) 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.<br />
<br />
The SDK is structured so 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.<br />
<br />
The base directory of the SDK is denoted as <tt><SDKHOME></tt> in this article. Replace <tt><SDKHOME></tt> by directory name where you store the SDK on your system. In the examples <tt><SDKHOME></tt> is replaced by the directory name <tt>D:\usr\src\SDK</tt>.<br />
<br />
== Prerequisites ==<br />
<br />
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.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Tool<br />
! style="padding:5px; text-align:left" | Description<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Microsoft Visual C++ 2010 Express Edition<br />
| style="padding:5px; text-align:left" | Compiler, Debugger and IDE<br/>Visit [http://www.microsoft.com/express/vc/ Download page] <br>If compiling for 64-bit, you will need to download the SDK, listed next. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (x64 Only) Microsoft Windows SDK for Windows 7 and .NET Framework 4<br />
| style="padding:5px; text-align:left" | x64 Compiler, Libraries, and Headers<br/>Visit [http://go.microsoft.com/fwlink/?LinkID=191420]<br> 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.<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | CMake 2.8.1 (2010-04-05)<br />
| style="padding:5px; text-align:left" | Generator of solution and project files for MSVC 2010<br/>Visit [http://www.cmake.org/cmake/resources/software.html#latest Download page] or download [http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe <tt>cmake-2.8.1-win32-x86.exe</tt>]<br> Leave default 'Don't add Cmake to system path' <br> Follow the note on the download page to replace CMakeVS10FindMake.cmake <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip) TortoiseSVN 1.6.1.16129 (2009-02-13)<br />
| style="padding:5px; text-align:left" | (skip) 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | TortoiseHg 1.0.4 (2010-06-11)<br />
| style="padding:5px; text-align:left" | Tool to handle source codes in Mercurial repositories<br/>Visit [http://tortoisehg.bitbucket.org/ Download page]<br/> Choose x64 if appropriate for you. <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | 7-Zip 4.65 (2009-02-03)<br />
| style="padding:5px; text-align:left" | Tool to decompress the source packages<br/>Visit [http://www.7-zip.org/download.html Download page] or download [http://downloads.sourceforge.net/sevenzip/7z465.exe <tt>7z465.exe (32-bit)</tt>] or [http://downloads.sourceforge.net/sevenzip/7z465-x64.msi <tt>7z465-x64.msi (64-bit)</tt>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | (skip - not required for Enblend 4.0) Java SE Development Kit 6 Update 20<br />
| style="padding:5px; text-align:left" | (skip) Java Development Kit (JDK)<br/>Visit [http://java.sun.com/javase/downloads/index.jsp Download page]<br />
|}<br />
<br />
== Contents of the Hugin SDK ==<br />
<br />
=== Precompiled Version (32-bit only) ===<br />
<br />
This is what we are working towards: For those who want to avoid to build the whole SDK from scratch, the last available precompiled SDK is for MSVC 2008, for an older version of Hugin.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Precompiled Hugin SDK (Win32)<br />
|- valign="top"<br />
| 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)<br />
|}<br />
<br />
=== Building from Source ===<br />
The contents of the Hugin SDK is shown in the following table. Download the packages, except the packages fetched from Hg/Subversion repository.<br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>autopano-sift-C</tt><br />
| style="padding:5px; text-align:left" | Autopano-SIFT-C (http://hugin.sourceforge.net/)<br/>Subversion repository<br/><tt>https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk</tt> from [[Hugin_Compiling_Ubuntu]](Note January 2010 / May 2010: Currently the autopano-sift-C SVN trunk, as well as Hg default tip, is unstable, use the 2.5.1 release tarball instead) <br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>boost_1_43_0</tt><br />
| style="padding:5px; text-align:left" | Boost C++ libraries 1.43.0<br />
(http://www.boost.org/)<br/>[http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.7z/download<br />
<tt>boost_1_43_0.7z</tt>]<br />
(2010-05-06)<br/>(skip) [http://sourceforge.net/projects/boost/files/boost-jam/3.1.18/boost-jam-3.1.18-1-ntx86.zip/download<br />
<tt>boost-jam-3.1.18-1-ntx86.zip</tt>] (2010-03-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>Deploy</tt><br/><tt>OpenEXR</tt><br />
| style="padding:5px; text-align:left" | OpenEXR library 1.6.1 and IlmBase libraries 1.0.1 (http://www.openexr.com/)<br/>[http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz <tt>ilmbase-1.0.1.tar.gz</tt>] (2007-10-22)<br/>[http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz <tt>openexr-1.6.1.tar.gz</tt>] (2007-10-22)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>enblend-enfuse-4.0</tt> <br />
| style="padding:5px; text-align:left" | Enblend 4.0 and Enfuse 4.0 (http://enblend.sourceforge.net/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.zip <tt>enblend-enfuse-4.0.zip</tt>] (2010-05-??)<br />
| style="padding:5px; text-align:left" | [http://downloads.sourceforge.net/enblend/enblend-enfuse-4.0.tar.gz <tt>enblend-enfuse-4.0.tar.gz</tt>] (2010-05-??)<br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiftool</tt><br />
| style="padding:5px; text-align:left" | ExifTool 8.23 (http://www.sno.phy.queensu.ca/~phil/exiftool)<br/>[http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool-8.23.zip <tt>exiftool-8.23.zip</tt>] (2010-06-20)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>exiv2-0.20.0</tt><br />
| style="padding:5px; text-align:left" | Exiv2 C++ library 0.20 (http://www.exiv2.org/)<br/>[http://www.exiv2.org/exiv2-0.20.tar.gz <tt>exiv2-0.20.tar.gz</tt>] (2010-05-30)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>expat-2.0.1</tt><br />
| style="padding:5px; text-align:left" | Expat XML Parser library 2.0.1 (http://sourceforge.net/projects/expat/)<br/>[http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz <tt>expat-2.0.1.tar.gz</tt>] (2007-06-05)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>gettext</tt><br />
| style="padding:5px; text-align:left" | GNU gettext 0.13.1 and iconv library 1.9.1 (http://www.gnu.org/)<br/><br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | (skip - need binaries only) 64-Bit<br />
|- valign="top"<br />
| 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><br />
| style="padding:5px; text-align:left" | (skip - use 32bit binaries) <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><br />
|}<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>glew</tt><br />
| style="padding:5px; text-align:left" | OpenGL Extension Wrangler Library (GLEW) 1.5.1 (http://glew.sourceforge.net/)<br/>[http://downloads.sourceforge.net/glew/glew-1.5.1-src.zip <tt>glew-1.5.1-src.zip</tt>] (2008-11-03)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libpano\pano13</tt><br />
| style="padding:5px; text-align:left" | Panorama Tools and pano13 library (http://panotools.sourceforge.net/)<br/>Release tar.gz, or </br>Subversion repository<br/><tt>https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano</tt><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>libxml2-2.7.3</tt><br />
| style="padding:5px; text-align:left" | XML C parser and toolkit (http://www.xmlsoft.org/)<br/>[ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.3.tar.gz <tt>libxml2-sources-2.7.3.tar.gz</tt>] (2009-01-18)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>UnxUtils</tt><br />
| style="padding:5px; text-align:left" | (skip if you have cygwin) GNU utilities ported to win32 platform (http://sourceforge.net/projects/unxutils/)<br/>[http://downloads.sourceforge.net/unxutils/UnxUtils.zip <tt>UnxUtils.zip</tt>] (2007-03-01)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>wxWidgets-2.8.11</tt><br />
| style="padding:5px; text-align:left" | wxWidgets cross-platform GUI C++ framework 2.8.11 (http://www.wxwidgets.org/)<br/>[http://downloads.sourceforge.net/wxwindows/wxMSW-2.8.11.zip <tt>wxMSW-2.8.11.zip</tt>] (2009-03-17)<br />
<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>freeglut_2.6.0</tt><br />
| 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>]<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>make_3.81</tt><br />
| 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 inside hugin.<br />
<br />
|- valign="top"<br />
! colspan="2" | Additional files only necessary for building a 64-bit SDK<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="30%" | Directory<br />
! style="padding:5px; text-align:left" | Description (Website)<br/>Download package (Date of the package)<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) libxmi-1.2-1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) STLport-5.2.1</tt> <br />
| 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/><br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <tt>(64-bit Enblend only) lcms-1.18a</tt> <br />
| 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/><br />
2.0 has been released, but will require code updates to enblend.<br />
|}<br />
<br />
In the following subsections each component is discussed in detail. The order of the subsections seems random, but I describe the precompiled packages first, followed by the big packages, where some of the small packages depend on.<br />
<br />
The decompress step of each component contains seemingly inconsistent namings of destination directories. These were chosen mostly to satisfy Cmake. To check the right locations, each result section of every component's description contains a summary of the expected files. <br />
<br />
freeglut and gnu make were added after the 2009 SDK was constructed. <br />
<br />
<br />
==== Diff Files ====<br />
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.<br />
<br />
The download link for the patches is [http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443 http://sourceforge.net/tracker/?func=detail&aid=2789320&group_id=77506&atid=550443]<br />
<br />
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. <br />
<br />
'''Alternative:''' If you already have the Cygwin environment installed, you can install the 'patch' module and perform the patch commands at a cygwin prompt. Otherwise, UnxUtils is much simpler. However, cygwin patch seems to set the permissions of changed files so they can't be modified by normal users, so after patching do this:<br/><br />
Right-click the folder, Properties, Security tab, Advanced, Change Permissions, check Replace all child object perms...., click OK, OK, OK.<br />
<br />
To apply a patch, follow these directions:<br />
<ol><br />
<li>Start a Command Prompt by choosing Start -> Run and typing in "cmd.exe"</li><br />
<li>On the Command Prompt, change directory to <tt><SDKHOME></tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v7.1>d:<br />
<br />
D:>cd \usr\src\SDK<br />
<br />
D:\usr\src\SDK><br />
</pre></li><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/><br />
<pre><br />
set PATH=%PATH%;<SDKHOME>\UnxUtils\usr\local\wbin<br />
</pre><br />
</li><br />
<li>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:<br/><br />
<pre><br />
patch -p 0 -i <PATCHFILE><br />
</pre><br />
'''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 <tt><SDKHOME>\UnxUtils\usr\local\wbin\patch.exe</tt> to another file not containing the name, such as <tt><SDKHOME>\UnxUtils\usr\local\wbin\apply_diff.exe</tt>. Then substitute the command <tt>'patch'</tt> in the above command with <tt>'apply_diff'</tt><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
If everything worked, you should see a list of filenames that were patched. <br />
'''Example'''<br />
<pre><br />
D:\usr\src\SDK>patch -p 0 -i libiconv-1.9.1.diff<br />
patching file 'libiconv-1.9.1/srclib/error.c'<br />
<br />
D:\usr\src\SDK><br />
</pre><br />
<br />
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.<br />
<br />
=== UnxUtils ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\UnxUtils</tt></li><br />
<li>Decompress the file <tt>UnxUtils.zip</tt> to created directory <tt><SDKHOME>\UnxUtils</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\UnxUtils\bin</tt> and<br />
<tt><SDKHOME>\UnxUtils\usr\local\wbin</tt><br />
<br />
=== ExifTool ===<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\exiftool</tt></li><br />
<li>Decompress the file <tt>exiftool-8.23.zip</tt> to <tt><SDKHOME>\exiftool</tt></li><br />
<li>Rename the file <tt>exiftool(-k).exe</tt> to <tt>exiftool.exe</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The application resides in<br />
<tt><SDKHOME>\exiftool</tt><br />
<br />
=== GetText ===<br />
Binary only, 32-bit binaries work for a 64-bit build.<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\gettext</tt></li><br />
<li>Decompress the following files to created directory <tt><SDKHOME>\gettext</tt><br />
<ul><br />
<li><tt>gettext-runtime-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>gettext-tools-0.13.1.bin.woe32.zip</tt></li><br />
<li><tt>libiconv-1.9.1.bin.woe32.zip</tt></li><br />
</ul><br />
</li><br />
</ol><br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\gettext\bin</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\gettext\include</tt><br />
<br />
The libraries (unused) reside in<br />
<tt><SDKHOME>\gettext\lib</tt><br />
=== STLport (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>STLport-5.2.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v7.1 -> Windows SDK v7.1 Cmd Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
<li>On the command prompt, change directory to <SDKHOME>\STLport-5.2.1<br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft\Windows SDK\v6.1>d:<br />
<br />
D:>cd \usr\src\SDK\STLport-5.2.1<br />
<br />
D:\usr\src\SDK\STLport-5.2.1><br />
</pre></li><br />
<li>On the command prompt, enter the following commands without any line breaks and press the Return/Enter key:<br/><br />
<pre>configure msvc9 --with-static-rtl<br />
cd build/lib<br />
nmake clean install</pre><br />
</li><br />
<li>Compilation will fail, complaining about <br />
<pre>stlport\stl/_cstdlib.h(158) : error C2084: function '__int64<br />
abs(__int64)' already has a body </pre><br />
Comment that line out, and compile again. It should succeed.</li><br />
<li>Close the Windows SDK command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The includes reside in <tt><SDKHOME>\STLport-5.2.1\stlport</tt><br/><br />
The libraries reside in <tt><SDKHOME>\STLport-5.2.1\lib</tt><br />
<br />
=== lcms-1.18 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Decompress the file <tt>lcms-1.18a.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>lcms-1.18.diff</tt> patch</li><br />
<li>Open the file <tt><SDKHOME>\lcms-1.18\Projects\VC2008\lcms.sln</tt>. Allow conversion.</li><br />
<li>Select project lcms, right-click Properties</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. Select "x64" in the Solution Platform pull-down menu</li><br />
<li>Select project lcms in Solution Explorer, and then choose Build > Project Only > Build Only lcms</li><br />
<li> changes to output file and intermediate directory for x64 </li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\lcms-1.18\Lib\MS-x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
<ul><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibDebug</tt></li><br />
<li><tt><SDKHOME>\lcms-1.18\Projects\VC2008\LibRelease</tt></li><br />
</ul><br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== libxmi-1.2.1 (64-bit Enblend Only) ===<br />
<ol><br />
<li>Open the file <tt>libxmi-1.2-1.src.zip</tt> in 7-Zip</li><br />
<li>Open the "src" folder by double-clicking</li><br />
<li>Open the "libxmi" folder by double-clicking</li><br />
<li>Open the "1.2" folder by double-clicking</li><br />
<li>Extract "libxmi-1.2" to the directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>libxmi-1.2.diff</tt> patch</li><br />
<li>Open <tt>libxmi.vcproj</tt>. Allow conversion.</li><br />
<li>Set default Output/Intermediate options for x64</li><br />
<li>Build libxmi, x64 Debug and Release</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The libxmi-1.2 sources now reside in <tt><SDKHOME>\libxmi-1.2</tt><br />
The libxmi-1.2 libs now reside in <tt><SDKHOME>\libxmi-1.2\x64\Debug</tt> or <tt>Release</tt><br />
<br />
=== wxWidgets ===<br />
<ol><br />
<li>Decompress the file <tt>wxMSW-2.8.11.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Rename the directory <tt><SDKHOME>\wxMSW-2.8.11</tt> to <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Apply the <tt>wxWidgets-2.8.11.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#wxWidgets]]</li><br />
<li><br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" width="50%" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To open a Visual Studio command prompt choose Start > Programs > Microsoft Visual Studio 2010 Express Edition > Visual Studio Command Prompt (2010)<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v1.1 -> Windows SDK 7.1 Command Prompt</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 Release<br />
</pre></li><br />
</ol><br />
|}</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\wxWidgets-2.8.11\build\msw</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Program Files\Microsoft Visual Studio 10.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\wxWidgets-2.8.11\build\msw<br />
<br />
D:\usr\src\SDK\wxWidgets-2.8.11\build\msw><br />
</pre><br />
</li><br />
<li>Enter each of the following two commands without any line break and press the Return key<br/><br />
<br />
32-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
<br />
64-Bit Directions<br />
<pre><br />
nmake -f makefile.vc BUILD=debug TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
nmake -f makefile.vc BUILD=release TARGET_CPU=AMD64 UNICODE=1 SHARED=0 USE_OPENGL=1 RUNTIME_LIBS=static<br />
</pre><br />
</li><br />
<li>Close the Windows SDK command prompt window</li><br />
<br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\include</tt> and its subdirectories<br />
<br />
Hugin also depends on following files<br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\jpg\jconfig.vc</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\png\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\tiff\*.h</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\src\zlib\*.h</tt></li><br />
</ul><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\wxWidgets-2.8.11\lib\vc_lib</tt> and/or<br />
<tt><SDKHOME>wxWidgets-2.8.11\lib\vc_amd64_lib</tt><br />
<br />
{| class="wikitable"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | During build process temporary object files are stored in following directories<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit <br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud</tt></li><br />
</ul><br />
| style="padding:5px; text-align:left" | <br />
<ul><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswu_amd64</tt></li><br />
<li><tt><SDKHOME>\wxWidgets-2.8.11\build\msw\vc_mswud_amd64</tt></li><br />
</ul><br />
|}<br />
Both directories may be deleted to save disk space.<br />
|}<br />
<br />
=== Boost ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>boost_1_43_0.7z</tt> to directory <tt><SDKHOME></tt></li><br />
<li>(skip) Decompress the file <tt>boost-jam-3.1.17-1-ntx86.zip</tt> to an arbitrary directory and copy the application <tt>bjam.exe</tt> to <tt><SDKHOME>\boost_1_39_0</tt></li><br />
<li>Open a Visual Studio command prompt, like you did with wxWidgets</li><br />
<li>On command prompt change directory to <tt><SDKHOME>\boost_1_43_0</tt><br/><br />
'''Example'''<br />
<pre><br />
C:\Dokuments and Settings\Guido>d:<br />
<br />
D:\>cd \usr\src\SDK\boost_1_43_0<br />
<br />
D:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
</li><br />
<li>Enter the command 'bootstrap' to build bjam.exe</li><br />
<li>Enter the following command without line breaks and press Return key<br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 56 targets...<br />
<br />
d:\usr\src\SDK\boost_1_43_0><br />
</pre><br />
| style="padding:5px; text-align:left" | <pre><br />
bjam --with-date_time --with-thread toolset=msvc variant=debug variant=release link=static threading=multi runtime-link=static address-model=64 stage<br />
</pre><br />
After <tt>bjam.exe</tt> finishes a statement like the following should be printed in the command prompt window<br />
<pre><br />
...updated 44 targets...<br />
</pre><br />
|}</li><br />
<li>To build both 32-bit and 64-bit directions, rename boost_1_43_0\stage\lib directory to lib_win32 after building 32-bit, and to lib_x64 after building the 64-bit targets</li><br />
<li>Close the Windows command prompt window</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\boost_1_43_0</tt> and its subdirectory <tt>boost</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\boost_1_39_0\stage\lib</tt> (or lib_win32 and lib_x64)<br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
|<ul><br />
<li>During build process temporary files are generated in <tt><SDKHOME>\boost_1_39_0\bin.v2</tt>. This directory may be deleted to save disk space.<br />
</li><br />
<li>Hugin needs only the two Boost libraries <tt>date_time</tt> and <tt>thread</tt>, thus only these two libraries have to be built.<br/><br />
If you want to build all Boost libraries enter following command on the Windows command prompt instead of the command described above and press Return key.<br />
<pre><br />
bjam -–build-type=complete toolset=msvc stage<br />
</pre><br />
There are about 7GB disc space needed during build of all libraries (3.5GB for libraries and the same amount for the temporary files).<br />
</li><br />
<li>The Boost include files are typically included by a statement like<br/><br />
<tt>#include "boost/whatever.hpp"</tt><br/><br />
Therefore the base directory of the Boost include files is <tt><SDKHOME>\boost_1_43_0</tt><br />
</li><br />
<li>Only the following libraries are needed to build a release version of Hugin:<br />
<ul><br />
<li><tt>libboost_date_time-vc100-mt-s.lib</tt></li><br />
<li><tt>libboost_thread-vc100-mt-s.lib</tt></li><br />
</ul><br />
The files with "<tt>gd</tt>" in the filename, e.g. <tt>libboost_thread-vc100-mt-sgd-1_43.lib</tt>, are the debug libraries.<br />
The library files without "<tt>-1_43</tt>" suffix are automatically generated copies of the libraries with version suffix. They are used by CMake to detect the library directory.<br />
</li><br />
</ul><br />
|}<br />
<br />
=== OpenEXR ===<br />
<br />
OpenEXR depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before OpenEXR.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Decompress the file <tt>ilmbase-1.0.1.tar.gz</tt> to created directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
<li>Decompress the file <tt>openexr-1.6.1.tar.gz</tt> to the same directory <tt><SDKHOME>\OpenEXR</tt><br/><br />
After decompress there should only exist the two directories <tt>ilmbase-1.0.1</tt> and <tt>openexr-1.6.1</tt> in <tt><SDKHOME>\OpenEXR</tt></li><br />
<li>Apply the <tt>OpenEXR.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#OpenEXR]]</li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln</tt></li><br />
<li>Allow conversion to proceed. TODO is Batch Build better?</li><br />
<li>Select Debug in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select Release in Solutions Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li> TODO is 64-bit needed? Change General .. Platform Toolset to Win 7.1 SDK for all x64 projects. </li><br />
<li>Open solution file <tt><SDKHOME>\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln</tt></li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project IlmImf with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\Deploy\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\Deploy\lib\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\Release</tt> for win32,<br />
<tt><SDKHOME>\Deploy\lib\x64\Debug</tt> and<br />
<tt><SDKHOME>\Deploy\lib\x64\Release</tt> for x64.<br />
<br />
=== Enblend and Enfuse ===<br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | <ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.zip</tt> to directory <tt><SDKHOME></tt></li><br />
</ol><br />
| style="padding:5px; text-align:left" | Enblend & Enfuse depend on the following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>OpenEXR</li><br />
<li>lcms</li><br />
<li>STLport</li><br />
<li>boost</li><br />
<li>libxmi</li><br />
</ul><br />
Prepare these components before Enblend & Enfuse.<br />
<br />
<ol><br />
<li>Decompress the file <tt>enblend-enfuse-4.0.tar.gz</tt> to directory <tt><SDKHOME></tt><br/><br />
After decompression, you should now have a folder <tt><SDKHOME>\enblend-enfuse-4.0</tt></li><br />
<li>Alternate: get enblend from the Hg repository. Needed 7 July 2010 to get CMakeLists.txt</li><br />
<li>Run Cmake, use <tt><SDKHOME>\enblend-enfuse-4.0</tt> as the source, and <tt><SDKHOME>\enblend-build-x64</tt> as the build destination, and MSVC 2010 x64 as the compiler.</li><br />
<li>All the dependencies will be NOT FOUND or find the win32 versions - change to x64 versions.</li><br />
<li>Open the file <tt><SDKHOME>\enblend-build-x64\enblend.sln</tt></li><br />
<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><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
|}<br />
'''Result'''<br />
<br />
The applications reside in <tt><SDKHOME>\enblend-enfuse-4.0</tt> for 32-bit, <br/><br />
or <tt><SDKHOME>\enblend-build-x64</tt> for 64-bit.<br />
<br />
=== Expat ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>expat-2.0.1.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>expat-2.0.1.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#expat]]</li><br />
<li>Open the file <tt><SDKHOME>\expat-2.0.1\Source\expat.sln</tt></li><br />
<li>Right-click expat_static, and choose Properties</li><br />
<li>Under Configuration Properties, General, change Output Dir to <tt>.\..\$(Platform)\bin\$(Configuration)\</tt></li><br />
<li>Change Intermediate Dir to <tt>.\..\$(Platform)\tmp\$(Configuration)_static\</tt></li><br />
<li>Change Target Name to libexpatMT</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<li>Configuration Properties, C++, Output Files, change ASM List Location, Object File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project expat_static with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\expat-2.0.1\lib</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\win32\bin\Release</tt> <br/><br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Debug</tt> and<br />
<tt><SDKHOME>\expat-2.0.1\x64\bin\Release</tt><br />
<br />
=== Exiv2 ===<br />
<br />
Exiv2 depends on following SDK components:<br />
<ul><br />
<li>wxWidgets</li><br />
<li>GetText</li><br />
<li>Expat</li><br />
</ul><br />
Prepare these components before Exiv2.<br />
<br />
<ol><br />
<li>Decompress the file <tt>exiv2-0.20.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>exiv2-0.20.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#exiv2]]</li><br />
<li>(64-bit Only)Apply the <tt>exiv2-0.20.x64.diff</tt> patch</li><br />
<li>Open solution file <tt><SDKHOME>\exiv2-0.20\msvc\exiv2.sln</tt></li><br />
<li>In the Solution Explorer, select "exiv2lib"</li><br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Change Target Name to exiv2</li><br />
<li>Configuration Properties, C++, General, change Treat Warnings as Errors to No</li><br />
<li>Configuration Properties, Librarian, Output File, change Output File to <tt>inherit from parent or project defaults</tt></li><br />
<br />
<li>Right-click exiv2lib, and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>inherit from parent or project defaults</tt></li><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project exiv2lib with <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express</li><br />
<li>Create the directory <tt><SDKHOME>\exiv2-0.20\msvc\lib</tt></li><br />
<li>Copy the following files to this directory and rename them as specified in Destination column.<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Debug\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''exiv2d''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\bin\Release\exiv2.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\exiv2.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Debug\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpatd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\expat-2.0.1\win32\bin\Release\libexpatMT.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.20\msvc\lib\''libexpat''.lib</tt><br />
|}<br />
</li><br />
<li> Similar for msvc\lib\x64\ </li><br />
</ol><br />
<br />
'''Comment'''<br />
<br />
When using exiv2 0.19 (which works better with bigger files), copy and rename also the following files:<br />
<br />
{| class="wikitable"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Source<br />
! style="padding:5px; text-align:left" | Destination<br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Debug\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\''xmpsdkd''.lib</tt><br />
|-<br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\xmpsdk\Release\xmpsdk.lib</tt><br />
| style="padding:5px; text-align:left" | <tt><SDKHOME>\exiv2-0.19\msvc\lib\xmpsdk.lib</tt><br />
|}<br />
<br />
Similar for msvc\lib\x64\ <br/><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\exiv2-0.20\msvc\lib</tt> and <tt>lib\x64</tt><br />
<br />
=== GLEW ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>glew-1.5.1-src.zip</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Apply the <tt>glew.diff</tt> patch [[Hugin SDK (MSVC 2008) Patches#glew]]</li><br />
<li>Open the file <tt><SDKHOME>\glew\build\vc6\glew.sln</tt></li><br />
<li>Let the conversion wizard run.</li><br />
<li>(64-bit) For the glew_static project, right-click Properties, for each x64 configuration, change:<br />
<ol><br />
<li>Configuration Properties, General, Intermediate Dir, change <tt> .\static/debug\ </tt> to <tt> .\static\$(Platform)\debug\ </tt></li><br />
<li>Configuration Properties, Librarian, Output File, change <tt>../../lib/glew32sd.lib</tt> to <tt>../../lib/glew64sd.lib</tt> and change Target Machine to X64</li><br />
<li>Configuration Properties, C++, Output File, change ASM List Location, Output File Name, and Program DB File Name to <tt>inherit from parent or project defaults</tt></li><br />
</ol><br />
<li>Choose Build > Batch Build</li><br />
<li>Select Build for Project glew_static with Solution Config <br/><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit<br />
! style="padding:5px; text-align:left" | 64-Bit<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "Win32"<br/><br />
Solution Config: "Release" with Platform: "Win32"<br />
| style="padding:5px; text-align:left" | Solution Config: "Debug" with Platform: "x64"<br/><br />
Solution Config: "Release" with Platform: "x64"<br />
|}</li><br />
<li>Click Build</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\glew\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\glew\lib</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Note<br />
|-<br />
| style="padding:5px; text-align:left" | The GLEW include files are typically included by a statement like<br/><tt>#include "GL/glew.h"</tt><br/>Therefore the base directory of the GLEW include files is <tt><SDKHOME>\glew\include</tt><br />
|}<br />
<br />
=== Panorama Tools ===<br />
<br />
Panorama Tools depends on following SDK component:<br />
<ul><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare this component before Panoroma Tools.<br />
<br />
<ol><br />
<li>Set two windows environment variables:<br />
<ul><br />
<li>Set variable <tt>WXWIDGETS_HOME</tt> to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt></li><br />
<li>Alternative: fix the LocalDefs.vsprops file next to the .sln file to point to wxWidgets base folder <tt><SDKHOME>\wxWidgets-2.8.11</tt>. This can be changed inside MSVC: View .. Property Manager, pano13 LocalDefs .. Common Properties .. User Macros </li><br />
</ul><br />
For changed environment variables to take effect you may have to logout and login.<br />
</li><br />
<li>Create the directory <tt><SDKHOME>\libpano\pano13</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\libpano\pano13</tt></li>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Open solution file <tt><SDKHOME>\libpano\pano13\libpano.sln</tt>, let the upgrade wizard run.</li><br />
<li>Select all projects, then right-click and choose Properties, select All Configurations, and All Platforms</li><br />
<li>Under Configuration Properties, General, change Platform Toolset from v100 to Windows7.1SDK</li><br />
<li>Under Configuration Properties, General, change Output Dir and Intermediate Dir to <tt>$(Configuration)\$(Platform)\</tt> (Note: already done in 2.9.17)</li><br />
<li>Temporary 2.9.17 fixes: optimize.c, change brackets to quotes, "filter.h" and "adjust.h". Release build, linker, wxWidgets\lib\vc_amd64_lib instead of vc_lib64. Get tools/*.rc from svn. (Sept 7, 2010)</li><br />
<li>Select your platform in the Solution Platform pull-down menu</li><br />
<li>Select "Debug CMD" in Solution Configuration pull-down menu</li><br />
<li>Select project pano13 in Solution Explorer, and then choose Build > Project Only > Build Only pano13</li><br />
<li>Select "Release CMD" in Solution Configuration pull-down menu, and then choose Build > Build Solution (Note: multi-core machines, right click and build each project individually, skipping PTAInterpolate. Avoids log-file write conflict.</li><br />
<li>Close Visual C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\libpano\pano13\tools\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libpano\pano13</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libpano\pano13\Debug CMD\Win32</tt> or <tt>x64</tt> and <br />
<tt><SDKHOME>\libpano\pano13\Release CMD\Win32</tt> or <tt>x64</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | The applications have to be built in release version only. Therefore only pano13 library has to be built in Debug configuration.<br />
|}<br />
<br />
=== libxml2 ===<br />
<br />
<ol><br />
<li>Decompress the file <tt>libxml2-sources-2.7.3.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| 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><br />
| style="padding: 5px; text-align:left" | <ol><br />
<li>Open a Windows SDK prompt by choosing Start -> Programs -> Microsoft Windows SDK v6.1 -> CMD Shell</li><br />
<li>On the command prompt, enter the following command without any line breaks and press the Return/Enter key:<br/><br />
<pre><br />
setenv /Release /x64 /xp<br />
</pre><br />
It should now refresh and say<br />
<pre><br />
Setting SDK environment relative to <path where you installed the SDK><br />
Targeting Windows XP x64 RELEASE<br />
</pre></li><br />
</ol><br />
|}<br />
</li><br />
<br />
<li>On command prompt change directory to <tt><SDKHOME>\libxml2-2.7.3\win32</tt><br/><br />
'''Example'''<br />
<pre><br />
Setting environment for using Microsoft Visual Studio 2008 x86 tools.<br />
<br />
C:\Program Files\Microsoft Visual Studio 9.0\VC>d:<br />
<br />
D:\>cd \usr\src\SDK\libxml2-2.7.3\win32 <br />
<br />
D:\usr\src\SDK\libxml2-2.7.3\win32><br />
</pre><br />
<br />
<li>Enter each of the following two commands without any line break and press the Return key.<br />
<pre><br />
cscript configure.js ftp=no http=no iconv=no cruntime=/MT<br />
nmake -f makefile.msvc libxmla<br />
</pre><br />
</li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The include files reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\include</tt><br />
<br />
The libraries reside in<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\bin.msvc</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|-<br />
! style="padding:5px; text-align:left" | Notes<br />
|-<br />
| style="padding:5px; text-align:left" | <ul><br />
<li>During build process temporary object files are generated in directory<br />
<tt><SDKHOME>\libxml2-2.7.3\win32\int.a.msvc</tt>.<br />
This directories may be deleted to save disc space.</li><br />
<li>Hugin does not depend on libxml2 library, but autopano-sift-C. Therefore it is included in this SDK.</li><br />
</ul><br />
|}<br />
<br />
=== autopano-sift-C ===<br />
<br />
Autopano-SIFT-C depends on following SDK components:<br />
<ul><br />
<li>libxml2</li><br />
<li>Panorama Tool's pano13 library</li><br />
<li>wxWidgets</li><br />
</ul><br />
Prepare these components before Autopano-SIFT-C.<br />
<br />
<ol><br />
<li>Create the directory <tt><SDKHOME>\autopano-sift-C-trunk</tt></li><br />
<li>In explorer right-click on created directory <tt><SDKHOME>\autopano-sift-C-trunk</tt>, and then choose SVN Checkout from the shortcut menu. The Checkout dialog appears.</li><br />
<li>In "URL of repository" field enter following address:<br />
<pre><br />
https://hugin.svn.sourceforge.net/svnroot/hugin/autopano-sift-C/trunk<br />
</pre><br />
</li><br />
<li>Click OK</li><br />
<li>After checkout has finished click OK</li><br />
<li>Start CMake (cmake-gui). The CMake dialog appears.</li><br />
<li>In "Where is the source code" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C-trunk<br />
</pre><br />
Alternatively click Browse Source to point to this directory</li><br />
<li>In "Where to build the binaries" field enter<br />
<pre><br />
<SDKHOME>\autopano-sift-C<br />
</pre><br />
</li><br />
<li>Click Configure<br/><br />
If a dialog appears, which asks to create the build directoy, click Yes.<br/><br />
A dialog appears, where you can specify the generator for the project.</li><br />
<li><br />
{| class="wikitable" <br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | 32-Bit Directions<br />
! style="padding:5px; text-align:left" | 64-Bit Directions<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008" and select option "Use default native compilers"<br />
| style="padding:5px; text-align:left" | Select "Visual Studio 9 2008 Win64" and select option "Use default native compilers"<br />
|}</li><br />
<li>Click Finish<br/><br />
In the Name and Value list the entries are shown with red background.</li><br />
<li>Click Configure</li><br />
<li>Click Generate</li><br />
<li>Close CMake</li><br />
<li>Open solution file <tt><SDKHOME>\autopano-sift-C\autopano-sift-C.sln</tt></li><br />
<li>Select Release in Solution Configuration pull-down menu, and then choose Build > Build Solution</li><br />
<li>Select project INSTALL in Solution Explorer, and then choose Build > Project Only > Build Only INSTALL</li><br />
<li>Close Visual C++ 2008 Express Edition</li><br />
<li><br />
Copy the directories <tt>bin</tt> and <tt>shared</tt> from <tt><SDKHOME>\autopano-sift-C\INSTALL\FILES</tt> to <tt><SDKHOME>\autopano-sift-C</tt></li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The applications reside in<br />
<tt><SDKHOME>\autopano-sift-C\bin</tt><br />
<br />
The manual pages reside in<br />
<tt><SDKHOME>\autopano-sift-C\shared</tt><br />
<br />
{| class="wikitable" width="100%"<br />
|- valign="top"<br />
! style="padding:5px; text-align:left" | Note<br />
|- valign="top"<br />
| style="padding:5px; text-align:left" | To save disk space you may delete all files and directories in <tt><SDKHOME>\autopano-sift-C</tt>, except the subdirectories <tt>bin</tt> and <tt>shared</tt>.<br />
|}<br />
<br />
=== Freeglut ===<br />
<ol><br />
<li>Decompress the file <tt>freeglut-2.6.0.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\freeglut.sln</tt></li><br />
<li>Select "Debug" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project freeglut in Solution Explorer, and then choose Build > Project Only > Build Only freeglut</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The library resides in <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Debug</tt> and <tt><SDKHOME>\freeglut-2.6.0\VisualStudio2008Static\Release</tt><br />
<br />
=== GNU Make ===<br />
<ol><br />
<li>Decompress the file <tt>make-3.81.tar.gz</tt> to directory <tt><SDKHOME></tt></li><br />
<li>Open the file <tt><SDKHOME>\make-3.81\make_msvc_net2003.sln</tt> (Confirm conversion.)</li> <br />
<li>Select "Release" in the Solution Configuration pull-down menu. </li><br />
<li>Select project make_msvc.net2003 Solution Explorer, and then choose Build > Project</li><br />
<li>Close Visual Studio C++ 2010 Express </li><br />
<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><br />
</ol><br />
<br />
'''Result'''<br />
<br />
The executable make.exe resides in <tt><SDKHOME>\make-3.81\Release\</tt><br />
<br />
(All other files in this directory can be deleted to save space.)<br />
<br />
--Created: [[User:Helser|Aron Helser]] 16:20, 29 June 2010 (UTC)<br />
<br />
[[Category:Software:Hugin]]<br />
[[Category:Software:Platform:Windows]]</div>Mpetroff