<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.crosswire.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Daniel+Sheffield</id>
		<title>CrossWire Bible Society - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.crosswire.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Daniel+Sheffield"/>
		<link rel="alternate" type="text/html" href="http://wiki.crosswire.org/Special:Contributions/Daniel_Sheffield"/>
		<updated>2026-05-15T17:07:13Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13612</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13612"/>
				<updated>2015-01-07T02:29:35Z</updated>
		
		<summary type="html">&lt;p&gt;Daniel Sheffield: /* Building SWORD */ edited note.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Win32 Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling zlib ===&lt;br /&gt;
# Download the latest release of [http://www.zlib.net/ zlib] source code. At writing, the latest version is 1.2.8: [http://prdownloads.sourceforge.net/libpng/zlib128.zip?download]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;zlib&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/zlib&lt;br /&gt;
# Execute: nmake /f win32/Makefile.msc&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;bzip2&amp;quot;&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
#: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
#: set BOOST_PATH=$dir$&lt;br /&gt;
#: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project] or download a copy from SVN: https://www.crosswire.org/svn/sword/trunk/&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\libsword.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Linux with MingW ==&lt;br /&gt;
NOTE: these instructions do not include CLucene.&lt;br /&gt;
&lt;br /&gt;
# Create a build directory $BUILD_DIR&lt;br /&gt;
# Download the latest version of SWORD from svn&lt;br /&gt;
 svn co https://www.crosswire.org/svn/sword/trunk/ $BUILD_DIR/sword&lt;br /&gt;
# Download and install MXE (steps 1 and 2 of the tutorial here [http://mxe.cc/#tutorial]).&lt;br /&gt;
# Aquire all the dependancies (except ICU and CLucene)&lt;br /&gt;
#:: by using the instructions above (on windows with visual studio)&lt;br /&gt;
#:: downloading the binaries (dynamic linking)&lt;br /&gt;
#:: using MXE's system libraries (static linking). In this case, change to MXE's install dir ('/opt/mxe' in the tutorial) and do:&lt;br /&gt;
 su&lt;br /&gt;
 make MXE_TARGETS='i686-w64-mingw32' gcc zlib bzip2 xz curl&lt;br /&gt;
&lt;br /&gt;
=== Aquire icu ===&lt;br /&gt;
Download the latest ICU source [http://site.icu-project.org/download/]&lt;br /&gt;
Inflate the zip or tar archive to $BUILD_DIR/icu&lt;br /&gt;
 #&lt;br /&gt;
 # Make icu for linux first...&lt;br /&gt;
 cd $BUILD_DIR/icu/source/&lt;br /&gt;
 mkdir linux-build&lt;br /&gt;
 cd linux-build&lt;br /&gt;
 ../source/runConfigureICU Linux&lt;br /&gt;
 #&lt;br /&gt;
 # ...then cross-compile for windows...&lt;br /&gt;
 cd $BUILD_DIR/icu/source&lt;br /&gt;
 mkdir win-build&lt;br /&gt;
 cd win-build&lt;br /&gt;
 #&lt;br /&gt;
 # ...making sure we are being consistant with which compiler we are using by setting CC and CXX...&lt;br /&gt;
 CC=/opt/mxe/usr/bin/i686-w64-mingw32-gcc CXX=/opt/mxe/usr/bin/i686-w64-mingw32-g++ ../source/runConfigureICU MinGW --host=i686-w64-mingw32 --with-cross-build=$BUILD_DIR/icu/linux-build &lt;br /&gt;
 #&lt;br /&gt;
 # Finally, set up the include dir for use with cmake&lt;br /&gt;
 cd $BUILD_DIR/icu&lt;br /&gt;
 cp -r source/*/unicode/ include/&lt;br /&gt;
&lt;br /&gt;
: ...or use MXE's system icu. Take care when doing this because&lt;br /&gt;
:: it be an older version of icu (ie, icu51 at time of writing).&lt;br /&gt;
:: MXE make static libraries (haven't figured out how to get dynamic ones yet) which bloat the libsword.dll!&lt;br /&gt;
:: you will have to hack the build process a bit too.&lt;br /&gt;
 su&lt;br /&gt;
 make MXE_TARGETS='i686-w64-mingw32' icu4c&lt;br /&gt;
&lt;br /&gt;
=== Building SWORD ===&lt;br /&gt;
Make an out of source-directory-for cmake.&lt;br /&gt;
 mkdir $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
 cd $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
&lt;br /&gt;
If you want to use the dynamics libraries (recommended):&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
       -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
       -DXZ_LIBRARY=$BUILD_DIR/xz/bin_i486/liblzma.dll \&lt;br /&gt;
       -DXZ_INCLUDE_DIR=$BUILD_DIR/xz/include \&lt;br /&gt;
       -DZLIB_LIBRARY=$BUILD_DIR/zlib/zlib1.dll \&lt;br /&gt;
       -DZLIB_INCLUDE_DIR=$BUILD_DIR/zlib \&lt;br /&gt;
       -DICU_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuuc54.dll \&lt;br /&gt;
       -DICU_I18N_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuin54.dll \&lt;br /&gt;
       -DICU_INCLUDE_DIR=$BUILD_DIR/icu/include \&lt;br /&gt;
       -DBZIP2_LIBRARY=$BUILD_DIR/bzip2/libbz2.dll \&lt;br /&gt;
       -DBZIP2_LIBRARY=$BUILD_DIR/bzip2 \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
: ...or if you want to use MXE's system libraries:&lt;br /&gt;
 #&lt;br /&gt;
 # I couldn't link against MXE's static build of libcurl.&lt;br /&gt;
 # It might be to do with this: http://curl.haxx.se/docs/faq.html#Link_errors_when_building_libcur&lt;br /&gt;
 #&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
       -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
       -DICU_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuuc54.dll \&lt;br /&gt;
       -DICU_I18N_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuin54.dll \&lt;br /&gt;
       -DICU_INCLUDE_DIR=$BUILD_DIR/icu/include \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
: ...or if you want to use MXE's system ICU too:&lt;br /&gt;
 #&lt;br /&gt;
 # I couldn't link against MXE's static build of libcurl.&lt;br /&gt;
 # It might be to do with this: http://curl.haxx.se/docs/faq.html#Link_errors_when_building_libcur&lt;br /&gt;
 #&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
       -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
 #&lt;br /&gt;
 # 'make sword' will end in an error (similarly 'make blah'). &lt;br /&gt;
 #&lt;br /&gt;
 # ... but all we need to do is link against icudt. So we hack link.txt a bit an run ... &lt;br /&gt;
 #&lt;br /&gt;
 `echo $(tail -n1 CMakeFiles/sword.dir/link.txt) -licudt -licuuc`&lt;br /&gt;
NOTE: the directory that your libcurl.dll ends up in might be different to mine - but it will be something like build/libcurl-blah-release-dll-blah-blah-blah/bin/libcurl.dll. I also had to rename liblzma.dll to liblzma-5.dll for some reason...&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Daniel Sheffield</name></author>	</entry>

	<entry>
		<id>http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13611</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13611"/>
				<updated>2015-01-07T02:21:24Z</updated>
		
		<summary type="html">&lt;p&gt;Daniel Sheffield: /* Aquire icu */  minor correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Win32 Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling zlib ===&lt;br /&gt;
# Download the latest release of [http://www.zlib.net/ zlib] source code. At writing, the latest version is 1.2.8: [http://prdownloads.sourceforge.net/libpng/zlib128.zip?download]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;zlib&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/zlib&lt;br /&gt;
# Execute: nmake /f win32/Makefile.msc&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;bzip2&amp;quot;&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
#: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
#: set BOOST_PATH=$dir$&lt;br /&gt;
#: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project] or download a copy from SVN: https://www.crosswire.org/svn/sword/trunk/&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\libsword.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Linux with MingW ==&lt;br /&gt;
NOTE: these instructions do not include CLucene.&lt;br /&gt;
&lt;br /&gt;
# Create a build directory $BUILD_DIR&lt;br /&gt;
# Download the latest version of SWORD from svn&lt;br /&gt;
 svn co https://www.crosswire.org/svn/sword/trunk/ $BUILD_DIR/sword&lt;br /&gt;
# Download and install MXE (steps 1 and 2 of the tutorial here [http://mxe.cc/#tutorial]).&lt;br /&gt;
# Aquire all the dependancies (except ICU and CLucene)&lt;br /&gt;
#:: by using the instructions above (on windows with visual studio)&lt;br /&gt;
#:: downloading the binaries (dynamic linking)&lt;br /&gt;
#:: using MXE's system libraries (static linking). In this case, change to MXE's install dir ('/opt/mxe' in the tutorial) and do:&lt;br /&gt;
 su&lt;br /&gt;
 make MXE_TARGETS='i686-w64-mingw32' gcc zlib bzip2 xz curl&lt;br /&gt;
&lt;br /&gt;
=== Aquire icu ===&lt;br /&gt;
Download the latest ICU source [http://site.icu-project.org/download/]&lt;br /&gt;
Inflate the zip or tar archive to $BUILD_DIR/icu&lt;br /&gt;
 #&lt;br /&gt;
 # Make icu for linux first...&lt;br /&gt;
 cd $BUILD_DIR/icu/source/&lt;br /&gt;
 mkdir linux-build&lt;br /&gt;
 cd linux-build&lt;br /&gt;
 ../source/runConfigureICU Linux&lt;br /&gt;
 #&lt;br /&gt;
 # ...then cross-compile for windows...&lt;br /&gt;
 cd $BUILD_DIR/icu/source&lt;br /&gt;
 mkdir win-build&lt;br /&gt;
 cd win-build&lt;br /&gt;
 #&lt;br /&gt;
 # ...making sure we are being consistant with which compiler we are using by setting CC and CXX...&lt;br /&gt;
 CC=/opt/mxe/usr/bin/i686-w64-mingw32-gcc CXX=/opt/mxe/usr/bin/i686-w64-mingw32-g++ ../source/runConfigureICU MinGW --host=i686-w64-mingw32 --with-cross-build=$BUILD_DIR/icu/linux-build &lt;br /&gt;
 #&lt;br /&gt;
 # Finally, set up the include dir for use with cmake&lt;br /&gt;
 cd $BUILD_DIR/icu&lt;br /&gt;
 cp -r source/*/unicode/ include/&lt;br /&gt;
&lt;br /&gt;
: ...or use MXE's system icu. Take care when doing this because&lt;br /&gt;
:: it be an older version of icu (ie, icu51 at time of writing).&lt;br /&gt;
:: MXE make static libraries (haven't figured out how to get dynamic ones yet) which bloat the libsword.dll!&lt;br /&gt;
:: you will have to hack the build process a bit too.&lt;br /&gt;
 su&lt;br /&gt;
 make MXE_TARGETS='i686-w64-mingw32' icu4c&lt;br /&gt;
&lt;br /&gt;
=== Building SWORD ===&lt;br /&gt;
Make an out of source-directory-for cmake.&lt;br /&gt;
 mkdir $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
 cd $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
&lt;br /&gt;
If you want to use the dynamics libraries (recommended):&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
       -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
       -DXZ_LIBRARY=$BUILD_DIR/xz/bin_i486/liblzma.dll \&lt;br /&gt;
       -DXZ_INCLUDE_DIR=$BUILD_DIR/xz/include \&lt;br /&gt;
       -DZLIB_LIBRARY=$BUILD_DIR/zlib/zlib1.dll \&lt;br /&gt;
       -DZLIB_INCLUDE_DIR=$BUILD_DIR/zlib \&lt;br /&gt;
       -DICU_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuuc54.dll \&lt;br /&gt;
       -DICU_I18N_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuin54.dll \&lt;br /&gt;
       -DICU_INCLUDE_DIR=$BUILD_DIR/icu/include \&lt;br /&gt;
       -DBZIP2_LIBRARY=$BUILD_DIR/bzip2/libbz2.dll \&lt;br /&gt;
       -DBZIP2_LIBRARY=$BUILD_DIR/bzip2 \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
: ...or if you want to use MXE's system libraries:&lt;br /&gt;
 #&lt;br /&gt;
 # I couldn't link against MXE's static build of libcurl.&lt;br /&gt;
 # It might be to do with this: http://curl.haxx.se/docs/faq.html#Link_errors_when_building_libcur&lt;br /&gt;
 #&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
       -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
       -DICU_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuuc54.dll \&lt;br /&gt;
       -DICU_I18N_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuin54.dll \&lt;br /&gt;
       -DICU_INCLUDE_DIR=$BUILD_DIR/icu/include \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
: ...or if you want to use MXE's system ICU too:&lt;br /&gt;
 #&lt;br /&gt;
 # I couldn't link against MXE's static build of libcurl.&lt;br /&gt;
 # It might be to do with this: http://curl.haxx.se/docs/faq.html#Link_errors_when_building_libcur&lt;br /&gt;
 #&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
       -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
 #&lt;br /&gt;
 # 'make sword' will end in an error (similarly 'make blah'). &lt;br /&gt;
 #&lt;br /&gt;
 # ... but all we need to do is link against icudt. So we hack link.txt a bit an run ... &lt;br /&gt;
 #&lt;br /&gt;
 `echo $(tail -n1 CMakeFiles/sword.dir/link.txt) -licudt -licuuc`&lt;br /&gt;
NOTE: the directory that your libcurl.dll ends up in might be different to mine - but it will be something like build/libcurl-blah-release-dll-blah-blah-blah/bin/libcurl.dll&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Daniel Sheffield</name></author>	</entry>

	<entry>
		<id>http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13606</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13606"/>
				<updated>2015-01-06T11:13:56Z</updated>
		
		<summary type="html">&lt;p&gt;Daniel Sheffield: /* Building SWORD */  Note on libcurl&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Win32 Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling zlib ===&lt;br /&gt;
# Download the latest release of [http://www.zlib.net/ zlib] source code. At writing, the latest version is 1.2.8: [http://prdownloads.sourceforge.net/libpng/zlib128.zip?download]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;zlib&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/zlib&lt;br /&gt;
# Execute: nmake /f win32/Makefile.msc&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;bzip2&amp;quot;&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
#: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
#: set BOOST_PATH=$dir$&lt;br /&gt;
#: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project] or download a copy from SVN: https://www.crosswire.org/svn/sword/trunk/&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\libsword.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Linux with MingW ==&lt;br /&gt;
NOTE: these instructions do not include CLucene.&lt;br /&gt;
&lt;br /&gt;
# Create a build directory $BUILD_DIR&lt;br /&gt;
# Download the latest version of SWORD from svn&lt;br /&gt;
 svn co https://www.crosswire.org/svn/sword/trunk/ $BUILD_DIR/sword&lt;br /&gt;
# Download and install MXE (steps 1 and 2 of the tutorial here [http://mxe.cc/#tutorial]).&lt;br /&gt;
# Aquire all the dependancies (except ICU and CLucene)&lt;br /&gt;
#:: by using the instructions above (on windows with visual studio)&lt;br /&gt;
#:: downloading the binaries (dynamic linking)&lt;br /&gt;
#:: using MXE's system libraries (static linking). In this case, change to MXE's install dir ('/opt/mxe' in the tutorial) and do:&lt;br /&gt;
 su&lt;br /&gt;
 make MXE_TARGETS='i686-w64-mingw32' gcc zlib bzip2 xz curl&lt;br /&gt;
&lt;br /&gt;
=== Aquire icu ===&lt;br /&gt;
Download the latest ICU source [http://site.icu-project.org/download/]&lt;br /&gt;
Inflate the zip or tar archive to $BUILD_DIR/icu&lt;br /&gt;
 #&lt;br /&gt;
 # Make icu for linux first:&lt;br /&gt;
 #&lt;br /&gt;
 cd $BUILD_DIR/icu/source/&lt;br /&gt;
 mkdir linux-build&lt;br /&gt;
 cd linux-build&lt;br /&gt;
 ../source/runConfigureICU Linux&lt;br /&gt;
 #&lt;br /&gt;
 # then cross-compile for windows:&lt;br /&gt;
 #&lt;br /&gt;
 cd $BUILD_DIR/icu/source&lt;br /&gt;
 mkdir win-build&lt;br /&gt;
 cd win-build&lt;br /&gt;
 ../source/runConfigureICU MinGW --host=i686-w64-mingw32 --with-cross-build=$BUILD_DIR/icu/linux-build &lt;br /&gt;
 #&lt;br /&gt;
 # then set up the include dir for use with cmake&lt;br /&gt;
 #&lt;br /&gt;
 cd $BUILD_DIR/icu&lt;br /&gt;
 cp -r source/*/unicode/ include/&lt;br /&gt;
&lt;br /&gt;
: ...or use MXE's system icu. Take care when doing this because&lt;br /&gt;
:: it be an older version of icu (ie, icu51 at time of writing).&lt;br /&gt;
:: MXE make static libraries (haven't figured out how to get dynamic ones yet) which bloat the libsword.dll!&lt;br /&gt;
:: you will have to hack the build process a bit too.&lt;br /&gt;
 su&lt;br /&gt;
 make MXE_TARGETS='i686-w64-mingw32' icu4c&lt;br /&gt;
&lt;br /&gt;
=== Building SWORD ===&lt;br /&gt;
Make an out of source-directory-for cmake.&lt;br /&gt;
 mkdir $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
 cd $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
&lt;br /&gt;
If you want to use the dynamics libraries (recommended):&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
       -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
       -DXZ_LIBRARY=$BUILD_DIR/xz/bin_i486/liblzma.dll \&lt;br /&gt;
       -DXZ_INCLUDE_DIR=$BUILD_DIR/xz/include \&lt;br /&gt;
       -DZLIB_LIBRARY=$BUILD_DIR/zlib/zlib1.dll \&lt;br /&gt;
       -DZLIB_INCLUDE_DIR=$BUILD_DIR/zlib \&lt;br /&gt;
       -DICU_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuuc54.dll \&lt;br /&gt;
       -DICU_I18N_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuin54.dll \&lt;br /&gt;
       -DICU_INCLUDE_DIR=$BUILD_DIR/icu/include \&lt;br /&gt;
       -DBZIP2_LIBRARY=$BUILD_DIR/bzip2/libbz2.dll \&lt;br /&gt;
       -DBZIP2_LIBRARY=$BUILD_DIR/bzip2 \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
: ...or if you want to use MXE's system libraries:&lt;br /&gt;
 #&lt;br /&gt;
 # I couldn't link against MXE's static build of libcurl.&lt;br /&gt;
 # It might be to do with this: http://curl.haxx.se/docs/faq.html#Link_errors_when_building_libcur&lt;br /&gt;
 #&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
       -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
       -DICU_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuuc54.dll \&lt;br /&gt;
       -DICU_I18N_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuin54.dll \&lt;br /&gt;
       -DICU_INCLUDE_DIR=$BUILD_DIR/icu/include \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
: ...or if you want to use MXE's system ICU too:&lt;br /&gt;
 #&lt;br /&gt;
 # I couldn't link against MXE's static build of libcurl.&lt;br /&gt;
 # It might be to do with this: http://curl.haxx.se/docs/faq.html#Link_errors_when_building_libcur&lt;br /&gt;
 #&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
       -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
 #&lt;br /&gt;
 # 'make sword' will end in an error (similarly 'make blah'). &lt;br /&gt;
 #&lt;br /&gt;
 # ... but all we need to do is link against icudt. So we hack link.txt a bit an run ... &lt;br /&gt;
 #&lt;br /&gt;
 `echo $(tail -n1 CMakeFiles/sword.dir/link.txt) -licudt -licuuc`&lt;br /&gt;
NOTE: the directory that your libcurl.dll ends up in might be different to mine - but it will be something like build/libcurl-blah-release-dll-blah-blah-blah/bin/libcurl.dll&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Daniel Sheffield</name></author>	</entry>

	<entry>
		<id>http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13605</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13605"/>
				<updated>2015-01-06T11:01:34Z</updated>
		
		<summary type="html">&lt;p&gt;Daniel Sheffield: Cross-compiling with MinGW. Improved instructions. Plus minor formatting fixes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Win32 Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling zlib ===&lt;br /&gt;
# Download the latest release of [http://www.zlib.net/ zlib] source code. At writing, the latest version is 1.2.8: [http://prdownloads.sourceforge.net/libpng/zlib128.zip?download]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;zlib&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/zlib&lt;br /&gt;
# Execute: nmake /f win32/Makefile.msc&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;bzip2&amp;quot;&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
#: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
#: set BOOST_PATH=$dir$&lt;br /&gt;
#: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project] or download a copy from SVN: https://www.crosswire.org/svn/sword/trunk/&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\libsword.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Linux with MingW ==&lt;br /&gt;
NOTE: these instructions do not include CLucene.&lt;br /&gt;
&lt;br /&gt;
# Create a build directory $BUILD_DIR&lt;br /&gt;
# Download the latest version of SWORD from svn&lt;br /&gt;
 svn co https://www.crosswire.org/svn/sword/trunk/ $BUILD_DIR/sword&lt;br /&gt;
# Download and install MXE (steps 1 and 2 of the tutorial here [http://mxe.cc/#tutorial]).&lt;br /&gt;
# Aquire all the dependancies (except ICU and CLucene)&lt;br /&gt;
#:: by using the instructions above (on windows with visual studio)&lt;br /&gt;
#:: downloading the binaries (dynamic linking)&lt;br /&gt;
#:: using MXE's system libraries (static linking). In this case, change to MXE's install dir ('/opt/mxe' in the tutorial) and do:&lt;br /&gt;
 su&lt;br /&gt;
 make MXE_TARGETS='i686-w64-mingw32' gcc zlib bzip2 xz curl&lt;br /&gt;
&lt;br /&gt;
=== Aquire icu ===&lt;br /&gt;
Download the latest ICU source [http://site.icu-project.org/download/]&lt;br /&gt;
Inflate the zip or tar archive to $BUILD_DIR/icu&lt;br /&gt;
 #&lt;br /&gt;
 # Make icu for linux first:&lt;br /&gt;
 #&lt;br /&gt;
 cd $BUILD_DIR/icu/source/&lt;br /&gt;
 mkdir linux-build&lt;br /&gt;
 cd linux-build&lt;br /&gt;
 ../source/runConfigureICU Linux&lt;br /&gt;
 #&lt;br /&gt;
 # then cross-compile for windows:&lt;br /&gt;
 #&lt;br /&gt;
 cd $BUILD_DIR/icu/source&lt;br /&gt;
 mkdir win-build&lt;br /&gt;
 cd win-build&lt;br /&gt;
 ../source/runConfigureICU MinGW --host=i686-w64-mingw32 --with-cross-build=$BUILD_DIR/icu/linux-build &lt;br /&gt;
 #&lt;br /&gt;
 # then set up the include dir for use with cmake&lt;br /&gt;
 #&lt;br /&gt;
 cd $BUILD_DIR/icu&lt;br /&gt;
 cp -r source/*/unicode/ include/&lt;br /&gt;
&lt;br /&gt;
: ...or use MXE's system icu. Take care when doing this because&lt;br /&gt;
:: it be an older version of icu (ie, icu51 at time of writing).&lt;br /&gt;
:: MXE make static libraries (haven't figured out how to get dynamic ones yet) which bloat the libsword.dll!&lt;br /&gt;
:: you will have to hack the build process a bit too.&lt;br /&gt;
 su&lt;br /&gt;
 make MXE_TARGETS='i686-w64-mingw32' icu4c&lt;br /&gt;
&lt;br /&gt;
=== Building SWORD ===&lt;br /&gt;
Make an out of source-directory-for cmake.&lt;br /&gt;
 mkdir $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
 cd $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
&lt;br /&gt;
If you want to use dynamics libraries:&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
       -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
       -DXZ_LIBRARY=$BUILD_DIR/xz/bin_i486/liblzma.dll \&lt;br /&gt;
       -DXZ_INCLUDE_DIR=$BUILD_DIR/xz/include \&lt;br /&gt;
       -DZLIB_LIBRARY=$BUILD_DIR/zlib/zlib1.dll \&lt;br /&gt;
       -DZLIB_INCLUDE_DIR=$BUILD_DIR/zlib \&lt;br /&gt;
       -DICU_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuuc54.dll \&lt;br /&gt;
       -DICU_I18N_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuin54.dll \&lt;br /&gt;
       -DICU_INCLUDE_DIR=$BUILD_DIR/icu/include \&lt;br /&gt;
       -DBZIP2_LIBRARY=$BUILD_DIR/bzip2/libbz2.dll \&lt;br /&gt;
       -DBZIP2_LIBRARY=$BUILD_DIR/bzip2 \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
: ...or if you want to use MXE's system libraries:&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DICU_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuuc54.dll \&lt;br /&gt;
       -DICU_I18N_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuin54.dll \&lt;br /&gt;
       -DICU_INCLUDE_DIR=$BUILD_DIR/icu/include \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
: ...or if you want to use MXE's system ICU too:&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
       -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
 #&lt;br /&gt;
 # 'make sword' will end in an error (similarly 'make blah'). &lt;br /&gt;
 #&lt;br /&gt;
 # ... but all we need to do is link against icudt. So we hack link.txt a bit an run ... &lt;br /&gt;
 #&lt;br /&gt;
 `echo $(tail -n1 CMakeFiles/sword.dir/link.txt) -licudt -licuuc`&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Daniel Sheffield</name></author>	</entry>

	<entry>
		<id>http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13604</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13604"/>
				<updated>2015-01-06T10:05:12Z</updated>
		
		<summary type="html">&lt;p&gt;Daniel Sheffield: Cross Compiling Sword for MS Windows on Linux with MingW  -- working&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Win32 Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling zlib ===&lt;br /&gt;
# Download the latest release of [http://www.zlib.net/ zlib] source code. At writing, the latest version is 1.2.8: [http://prdownloads.sourceforge.net/libpng/zlib128.zip?download]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;zlib&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/zlib&lt;br /&gt;
# Execute: nmake /f win32/Makefile.msc&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;bzip2&amp;quot;&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
:: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
:: set BOOST_PATH=$dir$&lt;br /&gt;
:: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project] or download a copy from SVN: https://www.crosswire.org/svn/sword/trunk/&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\libsword.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Cross Compiling Sword for MS Windows on Linux with MingW ==&lt;br /&gt;
NOTE: these instructions do not include CLucene.&lt;br /&gt;
&lt;br /&gt;
:: Create a build directory $BUILD_DIR.&lt;br /&gt;
&lt;br /&gt;
 svn co https://www.crosswire.org/svn/sword/trunk/ $BUILD_DIR/sword&lt;br /&gt;
&lt;br /&gt;
:: Download and install MXE. Steps 1 and 2 of the tutorial here [http://mxe.cc/#tutorial].&lt;br /&gt;
:: In MXE's install dir ('/opt/mxe' in the tutorial), set up the build environment as follows:&lt;br /&gt;
&lt;br /&gt;
 make MXE_TARGETS='i686-w64-mingw32' gcc zlib bzip2 xz curl icu&lt;br /&gt;
&lt;br /&gt;
:: Make icu for linux&lt;br /&gt;
 cd $BUILD_DIR/icu/source/&lt;br /&gt;
 mkdir linux-build&lt;br /&gt;
 cd linux-build&lt;br /&gt;
 ../source/runConfigureICU Linux&lt;br /&gt;
&lt;br /&gt;
:: Cross-compile for windows&lt;br /&gt;
 cd $BUILD_DIR/icu/source&lt;br /&gt;
 mkdir win-build&lt;br /&gt;
 cd win-build&lt;br /&gt;
 ../source/runConfigureICU MinGW --host=i686-w64-mingw32 --with-cross-build=$BUILD_DIR/icu/linux-build &lt;br /&gt;
&lt;br /&gt;
:: Set up include dir for use with cmake&lt;br /&gt;
 cd $BUILD_DIR/icu&lt;br /&gt;
 cp -r source/*/unicode/ include/&lt;br /&gt;
&lt;br /&gt;
:: Make an out of source-directory-for cmake.&lt;br /&gt;
&lt;br /&gt;
 mkdir $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
 cd $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
&lt;br /&gt;
:: Make with the following command&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
        -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
        -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
        -DXZ_LIBRARY=$BUILD_DIR/xz/bin_i486/liblzma.dll \&lt;br /&gt;
        -DXZ_INCLUDE_DIR=$BUILD_DIR/xz/include \&lt;br /&gt;
        -DZLIB_LIBRARY=$BUILD_DIR/zlib/zlib1.dll \&lt;br /&gt;
        -DZLIB_INCLUDE_DIR=$BUILD_DIR/zlib \&lt;br /&gt;
        -DICU_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuuc54.dll \&lt;br /&gt;
        -DICU_I18N_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuin54.dll \&lt;br /&gt;
        -DICU_INCLUDE_DIR=$BUILD_DIR/icu/include \&lt;br /&gt;
        -DBZIP2_LIBRARY=$BUILD_DIR/bzip2/libbz2.dll \&lt;br /&gt;
        -DBZIP2_LIBRARY=$BUILD_DIR/bzip2 \&lt;br /&gt;
        -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Daniel Sheffield</name></author>	</entry>

	<entry>
		<id>http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13603</id>
		<title>Tutorial:Compiling &amp; Installing SWORD on Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.crosswire.org/index.php?title=Tutorial:Compiling_%26_Installing_SWORD_on_Windows&amp;diff=13603"/>
				<updated>2015-01-06T09:51:43Z</updated>
		
		<summary type="html">&lt;p&gt;Daniel Sheffield: Cross-compile instructions with cmake -- not finished yet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''For compiling on Linux, see [[Tutorial:Compiling &amp;amp; Installing SWORD]]''.&lt;br /&gt;
&lt;br /&gt;
== Compiling The SWORD Project using [http://en.wikipedia.org/wiki/Microsoft_Visual_Studio MS Visual Studio] 2013 ==&lt;br /&gt;
&lt;br /&gt;
# Create a build directory, hereafter referred to as $dir$. Much of the Sword build process expects that various downloads be unpacked to the same directory.&lt;br /&gt;
&lt;br /&gt;
=== Compiling cURL ===&lt;br /&gt;
# Download the latest release of [http://curl.haxx.se/latest.cgi?curl=zip cURL]&lt;br /&gt;
# Extract the ZIP to $dir$&lt;br /&gt;
# Rename the cURL directory to &amp;quot;curl&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/curl/winbuild&lt;br /&gt;
# Execute: nmake /f Makefile.vc mode=static DEBUG=no&lt;br /&gt;
&lt;br /&gt;
=== Compiling ICU ===&lt;br /&gt;
# Download the latest release of [http://site.icu-project.org/download ICU]. At writing, the latest version is 52.1: [http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.zip]&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
# Open $dir$\icu\source\allinone\allinone.sln&lt;br /&gt;
# Ensure that the Win32 Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Compiling zlib ===&lt;br /&gt;
# Download the latest release of [http://www.zlib.net/ zlib] source code. At writing, the latest version is 1.2.8: [http://prdownloads.sourceforge.net/libpng/zlib128.zip?download]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;zlib&amp;quot; (with no version number)&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/zlib&lt;br /&gt;
# Execute: nmake /f win32/Makefile.msc&lt;br /&gt;
&lt;br /&gt;
=== Compiling bzip2 ===&lt;br /&gt;
# Download the latest release of [http://www.bzip.org/downloads.html bzip2]. At writing, the latest version is 1.0.6: [http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz]&lt;br /&gt;
# Extract the archive to $dir$ and rename the directory &amp;quot;bzip2&amp;quot;&lt;br /&gt;
# Open $dir$\bzip2\libbz2.dsp and allow Visual Studio to update the project&lt;br /&gt;
# Ensure that the Release configuration is selected and build the solution&lt;br /&gt;
&lt;br /&gt;
=== Downloading liblzma ===&lt;br /&gt;
# Download the latest release of xz prebuilt for Windows from [http://tukaani.org/xz/ tukaani.org]. At writing, the latest version is 5.0.5: [http://tukaani.org/xz/xz-5.0.5-windows.zip]&lt;br /&gt;
# Extract the archive to $dir$/xz&lt;br /&gt;
# Start a Developer Command Prompt (find this on your Start Menu in the Visual Studio 2013 | Visual Studio Tools menu)&lt;br /&gt;
# cd to $dir$/xz/bin_i486&lt;br /&gt;
# Execute: lib /def:../doc/liblzma.def /out:liblzma.lib /machine:x86&lt;br /&gt;
&lt;br /&gt;
=== Compiling CLucene ===&lt;br /&gt;
# Install [http://www.cmake.org/ cmake]&lt;br /&gt;
# Download the latest version of [http://www.boost.org/users/download/ boost]. At writing, the latest version is 1.5.5: [http://sourceforge.net/projects/boost/files/boost/1.55.0/]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the boost directory to &amp;quot;boost&amp;quot;&lt;br /&gt;
# Download a snapshot of the [http://sourceforge.net/p/clucene/code/ci/master/tree/ CLucene 2_3_2 branch]&lt;br /&gt;
# Extract the archive to $dir$&lt;br /&gt;
# Rename the CLucene directory to &amp;quot;clucene&amp;quot;&lt;br /&gt;
# Start a regular Command Prompt (cmd.exe)&lt;br /&gt;
# cd to $dir$/clucene&lt;br /&gt;
# Set Boost environment variables by executing the following (with replacements for $dir$):&lt;br /&gt;
:: set BOOST_BUILD_PATH=$dir$\boost\tools\build\v2&lt;br /&gt;
:: set BOOST_PATH=$dir$&lt;br /&gt;
:: set BOOST_ROOT=$dir$\boost&lt;br /&gt;
# Execute: mkdir cmakebuild&lt;br /&gt;
# Execute: cd cmakebuild&lt;br /&gt;
# Execute: cmake -G &amp;quot;Visual Studio 12&amp;quot; ..&lt;br /&gt;
# Open $dir$\clucene\cmakebuild\clucene.sln&lt;br /&gt;
# Ensure that the Release configuration is selected and build the BUILD_ALL project&lt;br /&gt;
&lt;br /&gt;
=== Compiling libsword ===&lt;br /&gt;
# Download the latest release of [http://www.crosswire.org/ftpmirror/pub/sword/source/sword.tar.gz The SWORD Project] or download a copy from SVN: https://www.crosswire.org/svn/sword/trunk/&lt;br /&gt;
# Extract the tarball to $dir$&lt;br /&gt;
::If you are building utilities or diatheke, the following steps are not necessary:&lt;br /&gt;
# Open $dir$\sword-$version$\lib\vcppmake\libsword.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
=== Compiling utilities ===&lt;br /&gt;
# Open $dir$\sword-$version$\utilities\vcppmake\utilities.sln&lt;br /&gt;
# Build the solution (Release, Debug, or both)&lt;br /&gt;
&lt;br /&gt;
== Cross Compiling Sword for MS Windows on Suse Linux with MingW == &lt;br /&gt;
&lt;br /&gt;
===Suse with MingW===&lt;br /&gt;
&lt;br /&gt;
Installation of all necessary dependencies of Sword, but for CLucene - libcurl, ICU, libgnurx etc - &lt;br /&gt;
&lt;br /&gt;
===Compilation of Clucene===&lt;br /&gt;
&lt;br /&gt;
clucene 0.9.21b source&lt;br /&gt;
&lt;br /&gt;
The scripts for compiling sword and clucene in xiphos/win32/suse are meant to be used from  ~/source/ with the clucene and sword directories directly under that. I would suggest reading the scripts. They aren't complicated, and I'm sure that I made assumptions about my environment (which is basically the *sole* reason for the warning that they aren't ready, I never meant they couldn't be used). You can go ahead and try to use them to cross-compile clucene. It will probably fail. If at that point, you send me config.log, that will help me remember what to do to fix it.&lt;br /&gt;
&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
edit m4/dps_static_const_type.m4, the last AC_DEFINE line. Change from:&lt;br /&gt;
&lt;br /&gt;
 AC_MSG_ERROR([Cannot figure out how to write static consts in classes. Check the m4 script or upgrade your compiler])&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 AC_DEFINE([LUCENE_STATIC_CONSTANT_SYNTAX], 1, [How to define a static const in a class])&lt;br /&gt;
&lt;br /&gt;
eg, the same as the first AC_DEFINE. I have no idea if it's correct, actually, but it seems to work ;)&lt;br /&gt;
&lt;br /&gt;
Next, edit src/Makefile.am, line 6. Add &amp;lt;tt&amp;gt;-no-undefined&amp;lt;/tt&amp;gt; at the end, like so:&lt;br /&gt;
&lt;br /&gt;
 libclucene_la_LDFLAGS  = --version-info $(CLLIB_VERSION) --release&lt;br /&gt;
 $(PACKAGE_VERSION) -no-undefined&lt;br /&gt;
&lt;br /&gt;
------------------------&lt;br /&gt;
src/CLucene/store/FSDirectory.cpp&lt;br /&gt;
&lt;br /&gt;
At the top of that file, after the #include directives, I just added this:&lt;br /&gt;
&lt;br /&gt;
 #define _mkdir mkdir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After changing these, you'll have to run autogen.sh and then re-configure using my script. It *should* build after this, at which point run sudo make install. Check to be sure it created a dll rather than just a static library (which will end in .la). It should be located in /usr/i686-w64-mingw32/sys-root/mingw/bin&lt;br /&gt;
&lt;br /&gt;
After this Clucene compiles without errors and creates a working dll.&lt;br /&gt;
&lt;br /&gt;
===Compilation of Sword===&lt;br /&gt;
&lt;br /&gt;
Application of 2 patches:&lt;br /&gt;
&lt;br /&gt;
patch1 patch2&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Cross Compiling Sword for MS Windows on Linux with MingW ==&lt;br /&gt;
NOTE: these instructions do not include CLucene.&lt;br /&gt;
&lt;br /&gt;
:: Create a build directory $BUILD_DIR.&lt;br /&gt;
&lt;br /&gt;
 svn co https://www.crosswire.org/svn/sword/trunk/ $BUILD_DIR/sword&lt;br /&gt;
&lt;br /&gt;
:: Download and install MXE. Steps 1 and 2 of the tutorial here [http://mxe.cc/#tutorial].&lt;br /&gt;
:: In MXE's install dir ('/opt/mxe' in the tutorial), set up the build environment as follows:&lt;br /&gt;
&lt;br /&gt;
 make MXE_TARGETS='i686-w64-mingw32' gcc zlib bzip2 xz curl icu&lt;br /&gt;
&lt;br /&gt;
:: Make icu for linux&lt;br /&gt;
 cd $BUILD_DIR/icu/source/&lt;br /&gt;
 mkdir linux-build&lt;br /&gt;
 cd linux-build&lt;br /&gt;
 ../source/runConfigureICU Linux&lt;br /&gt;
&lt;br /&gt;
:: Cross-compile for windows&lt;br /&gt;
 cd $BUILD_DIR/icu/source&lt;br /&gt;
 mkdir win-build&lt;br /&gt;
 cd win-build&lt;br /&gt;
 ../source/runConfigureICU MinGW --host=i686-w64-mingw32 --with-cross-build=$BUILD_DIR/icu/linux-build &lt;br /&gt;
&lt;br /&gt;
:: Download the latest icu binaries. At time of writing, icu54 [http://site.icu-project.org/download/54]. I downloaded icu4c-54_1-Win32-msvc10.zip.&lt;br /&gt;
:: Set up include dir for use with cmake&lt;br /&gt;
 cd $BUILD_DIR&lt;br /&gt;
 unzip /path-to-downloaded-icu/icu4c-54_1-Win32-msvc10.zip -d icu-bin&lt;br /&gt;
 cp -r icu-bin/icu/include icu&lt;br /&gt;
&lt;br /&gt;
:: Make an out of source-directory-for cmake.&lt;br /&gt;
&lt;br /&gt;
 mkdir $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
 cd $BUILD_DIR/sword/cmakebuild&lt;br /&gt;
&lt;br /&gt;
:: Make with the following command&lt;br /&gt;
 cmake -DREGEX_INCLUDE_DIR= \&lt;br /&gt;
        -DCURL_LIBRARY=$BUILD_DIR/curl/builds/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/bin/libcurl.dll \&lt;br /&gt;
        -DCURL_INCLUDE_DIR=$BUILD_DIR/curl/include \&lt;br /&gt;
        -DXZ_LIBRARY=$BUILD_DIR/xz/bin_i486/liblzma.dll \&lt;br /&gt;
        -DXZ_INCLUDE_DIR=$BUILD_DIR/xz/include \&lt;br /&gt;
        -DZLIB_LIBRARY=$BUILD_DIR/zlib/zlib1.dll \&lt;br /&gt;
        -DZLIB_INCLUDE_DIR=$BUILD_DIR/zlib \&lt;br /&gt;
        -DICU_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuuc54.dll \&lt;br /&gt;
        -DICU_I18N_LIBRARY=$BUILD_DIR/icu/win-build/lib/icuin54.dll \&lt;br /&gt;
        -DICU_INCLUDE_DIR=$BUILD_DIR/icu/include \&lt;br /&gt;
        -DBZIP2_LIBRARY=$BUILD_DIR/bzip2/libbz2.dll \&lt;br /&gt;
        -DBZIP2_LIBRARY=$BUILD_DIR/bzip2 \&lt;br /&gt;
        -DCMAKE_TOOLCHAIN_FILE=/opt/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake -G &amp;quot;Unix Makefiles&amp;quot; ..&lt;br /&gt;
 make sword&lt;br /&gt;
&lt;br /&gt;
:: You will get an error at the very end of make sword. These are just link errors in CMakFiles/sword.dir/link.txt (similarly in CMakeFiles/buildtest.dir/link.txt). These errors do not affect the static build of libsword which you can get by typing 'make' instead of 'make sword'.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Daniel Sheffield</name></author>	</entry>

	</feed>