# User talk:Tabakser

<stressedpiper> 23 June. Hi Tabasker. Just saw your message. How can I help? stressedpiper

<tabak> hi stressedipper,

my problem is that i cant compile navit in windows,

i tried the way with CodeBlocks but it doesnt work, did you get navit running with codeBlocks? when yes, then how?could you give me a bit more details how you did it?

Best Regards tabak

<stressedpiper> CodeBlocks support was dropped a while ago. Even if you use the old CodeBlocks project files the compilation will fail, as these files are missing many of the later additions.

I use a mingw/msys environment to build/compile, and CodeBlocks to edit. Personally I found that getting the mingw/msys environemnt under Windows to work took a bit of effort. However, once it is set up it works fine. Following are my installation notes.

```Install MinGW from http://sourceforge.net/project/showfiles.php?group_id=2435 (select Automated MinGW installer)

Install MSYS etc as per the instructions at http://www.mingw.org/wiki/msys

Install GTK from http://sourceforge.net/project/showfiles.php?group_id=98754 (select gtk+-win32-devel)

Install CodeBlocks (NB, the version without mingw bundled in) - (I use the latest Nightly Build avaialible from the CodeBlocks wiki rather than the release as the overnight build has all the features.)

Run the msys shell, cd /usr, mkdir local, cd /usr/local, mkdir share

Fix /c/GTK/bin/autopoint or /usr/local/bin/autopoint (line 117) to handle DOS paths, and fix the install path (line 29) to be C:/GTK or /usr/local
29: prefix="/c/GTK"

117: replace "curr_installdir=`echo "\$curr_executable" | sed -e 's,/[^/]*\$,,'`" with:
case "\$curr_executable" in
?:\\*) curr_installdir=`echo "\$curr_executable" | sed -e 's,\\\\[^\\\\]*\$,,'` ;;
*) curr_installdir=`echo "\$curr_executable" | sed -e 's,/[^/]*\$,,'` ;;
esac

Remove "pixman-1" from inside /c/GTK/lib/pkgconfig/cairo.pc

Copy /c/navit/trunk/navit/m4/*.m4 files to /usr/share/aclocal. NB, AM_GNU_GETTEXT_VERSION etc defined in these files
Copy /usr/local/share/aclocal/*.m4 files to /usr/share/aclocal. NB, AC_SUBST etc defined in these files
Copy /c/GTK/share/aclocal/*.m4 files to /usr/share/aclocal. NB, AC_SUBST etc defined in these files

cd /c/navit/trunk/navit

./autogen.sh

If you get the error 'Can't locate object "path" via package "Autom4te::Request"' then delete /c/navit/trunk/navit/autom4te.cache and run autogen.sh again:
As per http://www.arcknowledge.com/gmane.comp.sysutils.autoconf.general/2004-06/msg00028.html "That can happen if you have a stale cache (ie. generated by an older version)" ...
consequently: rm -fR ./autom4te.cache and then autoconf -f works fine :-)

Repeat autogen.sh multiple times, may need to do the following if there are errors.
Instead of running ./autogen.sh can do:
autoreconf --verbose
autopoint --force
aclocal --verbose
libtoolize --force
autoreconf --verbose

Add X11/XF86keysym.h to ./navit/support/win32/sys (or C:\MinGW\include)

Add "#define SIGWINCH 28" definition to /c/mingw/include/signal.h

Add "typedef unsigned int speed_t" etc to /c/mingw/include/sys/types.h

To enable serial GPS under Windows, refer to bug 332 on trac (http://trac.navit-project.org/ticket/332):
Copy serial_io.h and serial_io.c to navit/support/win32, and add serial_io.c to Makefile.am
Edit function vehicle_file_io in vehicle_file.c to inluce WIN32 support

./configure

"windres" may need to be added to ./navit/Makefile in WINDRES line

Edit ./int/localename.c to to fix SUBLANG defintions: SUBLANG_BENGALI_INDIA,SUBLANG_BENGALI_BANGLADESH, SUBLANG_PUNJABI_INDIA,SUBLANG_PUNJABI_PAKISTAN, SUBLANG_ROMANIAN_ROMANIA, SUBLANG_ROMANIAN_ROMANIA

make
```

Navit should then compile.