Project

General

Profile

Installing Wt on Cygwin using gcc » History » Version 6

Wim Dumon, 09/15/2011 06:48 PM

1 2 Wim Dumon
h1. Install Wt's dependencies
2
3
h2. Cygwin
4
5 6 Wim Dumon
From "the cygwin homepage":http://www.cygwin.com/, download setup.exe and install a typical C++ development system. Install at least these items:
6
* gcc4. Building Wt on cygwin requires gcc > 4. At the time of writing of this document, gcc4 was a separate package in cygwin, whereas the normal gcc package was gcc v3. I installed only gcc-4, and @gcc --version@ reports gcc 4.3.4.
7
* cmake
8
* make
9 2 Wim Dumon
10
h2. Get and install boost
11
12
Go to "the boost homepage":http://www.boost.org/ and download the most recent boost version. Build boost following the instructions for the version you downloaded. For example, boost 1.43.0 is compiled and installed in @/cygdrive/j/boost-cygwin@ using the following commands:
13
<pre>
14
./bjam.exe --prefix=/cygdrive/j/boost-cygwin --layout=versioned install
15
</pre>
16
17
Note: Compiling (and installing) boost on cygwin is painfully slow.
18
19
On my system, boost failed to copy the compiled dll's to the correct location. I ran the following command to correct this:
20
<pre>
21
for i in `find . -name \*.dll`; do cp $i /cygdrive/j/boost-cygwin/lib; done
22
</pre>
23
24
Add the directory where you copied these dlls to your PATH environment variable.
25
26 1 Anonymous
h1. Installing Wt on Cygwin using gcc
27 2 Wim Dumon
28
h2. Download Wt
29
30
Download Wt from "the wt download page":http://www.webtoolkit.eu/wt/download. The first version of Wt that attempts to support cygwin is version 3.1.3.
31
32
h2. Configure Wt
33
34
Run cmake. Turns out that cmake's built-in method is unable to discover boost on cygwin, so you need to set BOOST_DIR, BOOST_VERSION and BOOST_COMPILER yourself. Look in the 'lib' directory of the location where you installed boost in the previous step to find out the correct values for BOOST_VERSION and BOOST_COMPILER (e.g. in the examples below, the libraries are called @libboost_wave-gcc43-mt-1_43.a@)
35
36
You must build Wt in a different directory than the source directory:
37
38
<pre>
39
mkdir build
40
cd build
41
cmake -DBOOST_DIR=/cygdrive/j/boost-cygwin -DBOOST_VERSION=1_43 -DBOOST_COMPILER=gcc43 /path/to/wt-x.y.z
42
</pre>
43
44
h2. Build Wt
45
46
Start @make@ in the directory where you ran cmake:
47
<pre>
48
make -j 4
49
</pre>
50
51
h1. Run Wt examples
52
53
Always run examples with the pwd set to their source directory, not from the directory where they are built. Doing so will ensure that Wt will find resource files required to run the example. On top of the example-specific resource files, Wt uses a general 'resources' directory, containing images, css, themes, ... that are required by internal Wt widgets. You must copy them to your example directory before executing the example.
54
55
<pre>
56
cd wt-x.y.z/examples/hello
57
cp -r ../../resources .
58
./hello --docroot=. --http-port=8080 --http-address=0.0.0.0
59
</pre>
60
61
Surf to http://localhost:8080/ and enjoy!
62
63
Some examples have extra dependencies, such as ExtJS (extkitchen, widgetgallery, ...) and tinyMCE (widgetgallery); the FAQ on this wiki explains how to install these.