Navit – Cross compile

So, I’ve been messing around with navit a fair bit. I’ve gotten the cross compiler to work with the following settings

export PATH=$PATH:/opt/mingw32ce/bin


export PATH=$PATH:/opt/mingw32ce-59.01/bin

This tells the compiler what path to use for MingW32CE – the cross compiler, which was installed via RPM on an OpenSUSE 11.3 system. MingW32CE-59.01 is the latest stable build – 0.59.1.

I’d recommend sticking with 0.59.1. You download the tarball from CeGCC, untar the ¬†files, move them to /opt/mingw32ce-59.01/bin and you should be good to go.


This generates the files, etc.

WINDRES=arm-mingw32ce-windres \
./configure --host=arm-mingw32ce \
--disable-vehicle-file \
--disable-graphics-gtk-drawing-area \
--disable-svg2png \
--disable-glib \
--enable-support-libc \
--disable-gmodule \
--disable-binding-dbus \
--disable-font-freetype \
--disable-gui-gtk \
--disable-gui-win32 \
--disable-graphics-qt-qpainter \
--enable-cache-size=8000000 \
--disable-graphics-null \
--disable-map-mg \
--disable-speech-cmdline \

This is the big daddy that does the compilation. Just in case you don’t know, “\” at the end of a line tells the shell that the new line is part of the command and is to be ignored.


This creates navit.exe in ~/navit/navit . When you edit files such as main.c, you just need to run make again, although I prefer

make clean && make