For operating systems where no binary is provided or if you want the latest development version, you will have to build it from source. The code should be compilable on any system with ISO C++. It's tested on Linux, Mac OS/X, and Windows cross compilers. Less frequently, someone will build on MSVC, FreeBSD, OpenBSD, Solaris, etc. Both Clang/LLVM and GNU C++ are regularly exercised.
You can grab a release from the GPSBabel download page, but if you're going to be doing any development, you'll find that working from the GPSBabel Github repo is easier. Checkouts vis Git, HTTPS, SSH, and Subversion are supported.
In most cases, the code is as simple to build as running:
./configure && make
Qt is required for all builds. Mac and Windows users can download binaries from Qt Downloads Fedora or CentOS users may need to 'yum install qt-devel'. Optionally, use qt5-base. When in doubt, 'yum search qt' or 'yum search qt5' can help you find the correct package name Ubuntu users may need to 'apt-get install qtbase5-dev'. Qt versions 5.2 and newer are supported.
libusb is recommended for OS/X and Linux if you want to use a USB Garmin or DeLorme device. Fedora users may need to 'yum install libusb-devel'. Ubuntu users may need to 'yum install libusb-dev'.
There are additional flags that can be passed to configure to customize your build of GPSBabel.
./configure --help
lists all the supported options, but of interest we have:
--disable-shapefile
Excludes the shapefile support.
--disable-csv
Excludes all support for our something-separated formats.
--disable-filters
Excludes all filter support.
--enable-efence
Activate debugging mode for gpsbabel-debug.
--with-doc=
dir
Specifies that the doc should be created and installed in dir
.
--without-libusb
Disables use of libusb, even it's it's available.
--with-zlib=(included)|system|no
By default, we use our own version of zlib. If you specify system
the system zlib is used. A value of no
(or --without-zlib) disables zlib.