Version 31 (modified by 14 years ago) ( diff ) | ,
---|
Compiling using MingGW-w64 for both 32-bit and 64-bit
1. Installing Minimalist GNU for Windows-w64 (MinGW-w64)
The objective will be to try to use the MingGW-w64 toolchain instead of the standard MingW since it has support for both 32-bit and 64-bit compiling. Note: We are not successful yet, but just writing down our steps as we go along.
Details of the prefixes of files can be found at What to download
MingW-w64 site is http://mingw-w64.sourceforge.net
- If you are on 64-bit Windows download one of the binary packages from http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Automated%20Builds/ with name
starting with mingw-w64-1.0-bin_i686-mingw_
- If you are on 32-bit Windows download one of the binary packages from http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Automated%20Builds/ with name starting with
mingw-w32-1.0-bin_i686-mingw_ (for my purposes I used mingw-w32-1.0-bin_i686-mingw_20110408.zip)
- Extract your respective zip into a folder called C:\mingw_w64 or c:\mingw_w32
- Add c:\mingw_w64\bin (or c:\mingw_w32\bin) to your windows environment path variable e.g.
set PATH=c:\mingw_w32\bin;%PATH%
2. Installing Msys
MSys is 32-bit but you can use it with your 32-bit or 64-bit mingw-w64. Instructions are here mingw-w64 with MSYS and repeated here for completeness
sh /postinstall/pi.sh
When prompted type in C:/mingw_w64/mingw Once done, type logout and the console should exit.
3. Installing Autoconf, Automake and Libtool
Relaunch C:\mysy\msys.bat
Verify which versions of these you have with
autoconf —version etc.
If they are not newer (or you get not found) than below then download and install. Download the source code from the GNU site and save to c:\projects
- http://ftp.gnu.org/gnu/autoconf/autoconf-2.65.tar.gz
- http://ftp.gnu.org/gnu/automake/automake-1.11.tar.gz
- http://ftp.gnu.org/gnu/libtool/libtool-2.4.tar.xz
cd /c/projects tar -xvf autoconf-2.65.tar.gz cd autoconf-2.65 ./configure --build=i686-w64-mingw32 --host=i686-w64-mingw32 (if you are building for 64-bit then use --build=x86_64-w64-mingw32) make && make install autoconf --version
repeat same exercise for automake
For libtool
cd /c/projects tar -xvf libtool-2.4.10.tar.gz cd libtool-2.4 ./configure --build=i686-w64-mingw32 --host=i686-w64-mingw32 --target=i686-w64-mingw32 --disable-shared #if you are building for 64-bit then use --host=x86_64-w64-mingw32 for the build,host,target make clean && make && make install libtool --version
4. Compiling GEOS
Download latest GEOS source from http://trac.osgeo.org/geos/ either the http://download.osgeo.org/geos/geos-3.3.0.tar.bz2 or http://download.osgeo.org/geos/geos-svn.tar.bz2 and copy to c:\projects\geos. You can also use the trunk svn version https://svn.osgeo.org/geos/trunk. If you are using svn version, make sure to run:
sh autogen.sh
I had to comment out the lines as seen below, lines 159 and 166 in your mingw*\include\c++\4.4.6\cwchar
//using ::swprintf; //using ::vswprintf;
cd /c/projects/geos bzip2 -d -c geos-svn.tar.bz2 | tar xvf - ./configure --prefix=/c/projects/geos/rel-3.3.0 --build=i686-w64-mingw32 --host=i686-w64-mingw32 --target=i686-w64-mingw32 make make install
To strip all the debug info weight from the libgeos DLL files, run
# strip /c/projects/bin/geos/rel-3.3.0/*.dll