<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Wt: Installation: Windows</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Wt  <span id="projectnumber">3.2.3</span> </div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.5.1 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> </div> <div class="header"> <div class="headertitle"> <div class="title">Installation: Windows </div> </div> </div> <div class="contents"> <div class="textblock"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> </head> <title>Wt Installation</title> <body> <h1>Wt Installation instructions for Windows</h1> This page lists the instructions for building and installing Wt on Windows. It is organized in 3 sections: <ul> <li>Requirements</li> <li>Building and installing the library</li> <li>Trying the examples (or your own Wt application)</li> </ul> <h2>Requirements</h2> <p> Wt for Windows uses the built-in web server connector or the ISAPI connector. The fastcgi connector is not supported. The built-in web server is more convenient during development and is easier to setup than the ISAPI connector. To use the built-in server, you have to link your projects against libwt and libwthttp. To use the ISAPI connector, you have to link to libwtisapi instead of libwthttp.</p> <p>Requirements: <ul> <li>Microsoft Visual Studio C++ 2005 or newer. Wt and its dependencies also build on the Express Edition, which is free (as in beer) to use. <li>CMake cross-platform build system (www.cmake.org): cmake-2.6.x, Windows version (2.8 or newer recommended).</li> <li>Boost 1.36 (or later).</li> </ul> </p> <p>Additional and optional requirements for some of the examples <ul> <li>For https support: OpenSSL, version 0.9.8d or newer.</li> <li>To compress traffic: zlib 1.2.3</li> <li>libmysql and libmysql++-2.x (hangman)</li> <li><a href="http://libharu.org/">Haru Free PDF Library</a>, which is used to provide support for painting to PDF (WPdfImage).</li> <li><a href="http://www.graphicsmagick.org/">GraphicsMagick</a>, for supporting painting to raster images (PNG, GIF, ...) (WRasterImage).</li> </ul> </p> <p> We stronly recommend to use libraries which are all built using the same compiler and the same runtime configuration (/MT, /MD, /MTd or /MDd) to avoid incompatibilities with the C runtime libraries. Mixing CRTs is NOT recommended, the <a href="http://www.zlib.net/DLL_FAQ.txt">zlib DLL FAQ</a> clearly explains why and what you should do about it (in short: use prebuilt libraries for the exact same compiler as you use, and if those are not available, rebuild the dependency libraries from the sources). </p> <hr /> <h2>Step by step instructions to build and install the Wt library</h2> Up to date instructions are located on the Wt wiki page: <a href="http://redmine.emweb.be/projects/wt/wiki/Installing_Wt_on_MS_Windows">Installing Wt on MS Windows</a> Instructions on how to use the ISAPI connector for deployment under IIS are also available on the wiki page: <a href="http://redmine.emweb.be/projects/wt/wiki/ISAPI_on_Microsoft_IIS">ISAPI on Microsoft IIS</a> <h2>Trying the examples (or your own Wt application) using wthttpd</h3> <h4>1. Run the example in the MSVC IDE </h4> Right-click on the example project you want to run, and select 'Properties'. In Configuration Properties->Debugging, set the Command Arguments to <pre> --http-address=0.0.0.0 --http-port=8080 --deploy-path=/hello --docroot=. </pre> <p> This will start a httpd server listening on all local interfaces, on port 8080, and you may browse the example at <a href="http://127.0.0.1:8080/hello">http://127.0.0.1:8080/hello</a></p> <p> Examples that need extra files to run, should be executed from their source directory in order to find their dependency files (icons, css files, etc. Watch for 404 errors in Wt's output). To do so, set the 'Working directory' for the example to wt-x.y.z/examples/ExampleName. Some examples (e.g. the wt home page) need the 'resources' directory to work correctly. Copy the wt-2.x.x/resources to the example's source directory to solve this problem. Other examples (such as the Charts example) may require the installation of ExtJs. See the Wt reference manual for more information on how to obtain and install ExtJs. <p> These are all the command-line options that are available: <pre> General options: -h [ --help ] produce help message -t [ --threads ] arg (=10) number of threads --docroot arg document root for static files --no-compression do not compress dynamic text/html and text/plain responses --deploy-path arg (=/) location for deployment HTTP server options: --http-address arg IPv4 (e.g. 0.0.0.0) or IPv6 Address (e.g. 0::0) --http-port arg (=80) HTTP port (e.g. 80) HTTPS server options: --https-address arg IPv4 (e.g. 0.0.0.0) or IPv6 Address (e.g. 0::0) --https-port arg (=443) HTTPS port (e.g. 443) --ssl-certificate arg SSL server certificate chain file e.g. "/etc/ssl/certs/vsign1.pem" --ssl-private-key arg SSL server private key file e.g. "/etc/ssl/private/company.pem" --ssl-tmp-dh arg File for temporary Diffie-Hellman parameters e.g. "/etc/ssl/dh512.pem" </pre> </p> </body> </html> </div></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <hr size="1"><address style="text-align: right; margin: 3px"><small> Generated on Thu Nov 1 2012 for <a href="http://www.webtoolkit.eu/wt">the C++ Web Toolkit (Wt)</a> by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" border="0" style="vertical-align: middle; display: inline-block; height: 2em"></a> 1.7.5.1</small></address> </body> </html>