Difference between revisions of "Windows"

From Navit's Wiki
Jump to: navigation, search
m (Navigation device)
Line 35: Line 35:
  
 
=== Navigation  device ===
 
=== Navigation  device ===
Currently NMEA serial GPS receiver devices (USB/Bluetooth) are supported by the win32 port of navit. You can configure the device my adapting the navit.xml file in the projs\CodeBlocks directory. For example, a serial device on Com4 can be configured as follows
+
Currently NMEA serial GPS receiver devices (USB/Bluetooth) are supported by the win32 port of navit. You can configure the device by adapting the navit.xml file in the projs\CodeBlocks directory. For example, a serial device on Com4 can be configured as follows
  
 
<vehicle name="GPSOnCom4" enabled="yes" active="1" source="file:COM4 baud=115200 parity=N data=8 stop=1" color="#0000ff"/>
 
<vehicle name="GPSOnCom4" enabled="yes" active="1" source="file:COM4 baud=115200 parity=N data=8 stop=1" color="#0000ff"/>
Line 41: Line 41:
  
 
----
 
----
 
  
 
==Compiling and running using cygwin==
 
==Compiling and running using cygwin==

Revision as of 11:40, 9 January 2008

Navit under Windows, GTK Gui, Dutch translation

Navit on Windows is highly experimental at this moment (December 2007). This is a work in progress that will be documented. If you have made any progress with that, share with the others!

Compiling / debugging using CodeBlocks & mingw compiler

Win32 builds are currently supported using the CodeBlocks/mingw development environment, in combination with the glade for win32 GTK devlopment toolkit. The CodeBlocks project files have been added to cvs repository.


Downloads:

In order to compile the win32 version of Navit, you need the following software devlopment tools:


Installation

Install the packages mentioned above. After everything has been installed:


Compiling

  • Start the CodeBlocks application
  • Open the navit.workspace file (located in projs\CodeBlocks directory)
  • Set the GTK_DIR enviroment variable in CodeBlocks (Setting/Environment, and select environments variables)
  • the GTK_DIR should point to where you have installed the Glade/Gtk toolkit package (e.g. d:\gtk)

Now you should be able to build/debug the navit project


Running from debugger

In order to run navit from the CodeBlocks debugger, you have to:

  • Copy the navit.xml file from the source directory into the projs\CodeBlocks directory
  • Copy the xpm directory from the toplevel directory into the projs\CodeBlocks directory
  • Modify the navit.xml to set the map (currently only OSM binary files are supported)

Navigation device

Currently NMEA serial GPS receiver devices (USB/Bluetooth) are supported by the win32 port of navit. You can configure the device by adapting the navit.xml file in the projs\CodeBlocks directory. For example, a serial device on Com4 can be configured as follows

<vehicle name="GPSOnCom4" enabled="yes" active="1" source="file:COM4 baud=115200 parity=N data=8 stop=1" color="#0000ff"/>



Compiling and running using cygwin

Dependencies

You will probably need the following packages from cygwin :

  • automake
  • autoconf
  • gtk2-x11-devel
  • gcc (g++ too for sdl)
  • gettext-devel
  • diffutils
  • pkgconfig
  • xorg-x11-devel
  • glib2-devel
  • pango-devel
  • atk-devel
  • make

Optional:

  • cvs

Prepare the build

Edit configure.in and add the following to CFLAGS at line 10:

-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include

It should look like this :

        CFLAGS="$CFLAGS -Wall -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include"

Now run

autogen.sh && ./configure

If you get :

checking for X... no

try adding the following parameters to ./configure :

--x-libraries=/usr/X11R6/lib  --x-include=/usr/X11R6/includes

Build navit

Currently, building navit will fail at this point, because we haven't found an implementation of the wordexp function for cygwin.

Here's a message in that thread from an actual competent Cygwin user: http://www.mail-archive.com/cygwin@cygwin.com/msg16750.html

The implication of that is a "C library". A "C library" is an "implementation" of reusable code. It consists of a library file that contains the compiled object code and a header file with the matching declarations that goes along with it. The library is implemented as a static archive at build time and simply linked into the app binary. There's nothing to include in that case -- it's already in there.

Make a redistributable package

Please read and understand http://cygwin.com/licensing.html so that you don't infringe Cygwin's intellectual property rights (copyleft) when you distribute the package you've built.

Compiling a native binary using mingw

The main advantage of this method is that it will produce a redistributable binary.