Installing Wt on MinGW » History » Revision 1
Revision 1/11
| Next »
Wim Dumon, 09/16/2010 06:28 PM
h1. Installing Wt on MinGW
h2. MinGW requirements
This guide used the TDM-gcc (4.5.1-tdm-4).
The shell commands were executed in the 'MinGW Command Propmpt' of the TDM-gcc installation.
h2. Build Boost
First, bootstrap boost
cd boost_1_43_0
bootstrap.bat
Next, build the required libraries
bjam --prefix=i:/mingw-libraries/boost link=static threading=multi --layout=versioned --toolset=gcc --with-date_time --with-filesystem --with-program_options --with-regex --with-signals --with-system --with-thread install
This only builds the required libraries. It will take a while before boost is installed.
Note: If you get link errors with boost.thread, Tomasz Kalicki points out that you may want to fix the boost header files. This is not necessarily required for Wt versions newer than 3.1.5 as those will define BOOST_THREAD_USE_LIB when not linking to a dynamic boost (-DBOOST_DYNAMIC=OFF), but you may want to use it anyway if you use boost.thread in your own application.
--- oldconfig.hpp 2010-07-09 20:13:09.000000000 +0200
+++ config.hpp 2010-09-16 11:11:48.000000000 +0200
@@ -37,7 +37,7 @@
#elif defined(BOOST_THREAD_USE_LIB) //Use lib
#else //Use default
# if defined(BOOST_THREAD_PLATFORM_WIN32)
-# if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN)
+# if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) || defined(MINGW32)
//For compilers supporting auto-tss cleanup
//with Boost.Threads lib, use Boost.Threads lib
# define BOOST_THREAD_USE_LIB
See https://svn.boost.org/trac/boost/ticket/4614
--- libs/thread/src/win32/tss_pe.cpp.orig 2010-09-16 15:46:01.375000000 +0200
+++ libs/thread/src/win32/tss_pe.cpp 2010-09-16 15:46:53.906250000 +0200
@@ -54,6 +54,7 @@
PIMAGE_TLS_CALLBACK crt_xl_end attribute ((section(".CRT$XLZ"))) = 0;
}
+#if 0
extern "C" const IMAGE_TLS_DIRECTORY32 tls_used __attribute_ ((section(".rdata$T"))) =
{
(DWORD) &tls_start,
@@ -63,6 +64,7 @@
(DWORD) 0,
(DWORD) 0
};
+#endif
#elif defined(_MSC_VER) && !defined(UNDER_CE)
See https://svn.boost.org/trac/boost/ticket/4258
h3. Build Wt
cmake c:/cygwin/home/Wim/projects/wt-git/wt -DBOOST_DIR=i:/mingw-libraries/boost -DBOOST_COMPILER=mgw45 -DBOOST_VERSION=1_44 -G "MinGW Makefiles"
Then build Wt
mingw32-make
cd examples
mingw32-make
The Isapi connector is not built under MinGW because the httpext.h file provided with MinGW misses several declarations. I suspect that with a complete httpext.h header, it is possible to build the isapi connector without problems.
Updated by Wim Dumon about 14 years ago · 1 revisions