Steve from Climber.org wrote down the steps he performed to successfully
build GPSBabel 1.5.0 on Windows Vista 32bit. His naming conventions
(s:\software, C:\Program Files) are used throughout.
- install SubVersion (SVN) for open source code retrieval
- see http://subversion.apache.org/packages.html
- go to http://www.wandisco.com/subversion/download, look for CLIENT ONLY 1.8.8
- download and run WANdiscoSubversion-Client_1.8.8-2.exe
default everything
puts executable at C:\Program Files\WANdisco\Subversion\svn.exe
- DO NOT create desktop shortcut, this is a command-line utility only!
called automatically by Qt5, no need to run by hand
- install Qt 5.2.1
- go to http://qt-project.org/downloads
- download and run "qt-opensource-windows-x86-1.5.0-2-online.exe"
this is just the installer, it will spend a long time retrieving other files!
- UNcheck file type associations, choose install folder c:\Qt5, click Next
- choose Qt 5.2.1 and Tools (only), click Next
- accept license, default a few questions, click Install
installs MinGW 4.8 also!
runs for half an hour?
- create folder to hold projects like GPSBabel
mkdir S:\software\QtProjects
- drag exe to create desktop shortcut called Qt5 Creator (or whatever you want)
right-click shortcut, choose properties
target = C:\Qt5\Tools\QtCreator\bin\qtcreator.exe
start in = S:\software\QtProjects
- import GPSBabel for build in Qt5
- start Qt5 Creator from desktop icon, not start menu (so it starts in the proper folder)
- pull down Tools>Options>VersionControl
choose Subversion tab
change command to C:\Program Files\WANdisco\Subversion\svn.exe
click OK to dismiss Options dialog
- click Qt Welcome button on left, then Projects next to it, then New Project
(or pull down File>New File or Project)
- on New Project dialog:
pull down to choose Desktop Templates in the upper right corner
choose Import Project in left pane
choose Subversion Checkout in middle pane
click Choose in lower right corner
- Repository: http://gpsbabel.googlecode.com/svn/trunk/
- Path: S:\software
- Dir: QtProjects
- click NEXT to check out a copy of the source
(copies source to S:\software\QtProjects\gpsbabel)
wait a minute until you can click Finish (grayed out while working)
- ignore and dismiss the popup error message about "Failed to open project"
- click Open Project (or pull down File>Open File Or Project)
- file browser opens:
browse to S:\software\QtProjects\gpsbabel
double-click GPSBabel.pro to read it and create a new project
- "Project" highlights in left toolbar, GPSBabel tab opens as main window
verify checked Desktop Qt 5.2.1 MinGW 32bit (may vary between computers)
ignore Import Build and Android lines
click Configure Project button at the bottom
watch lower right corner for popup status, goes away on completion (very quick)
- CRITICAL: must edit GPSBabel.pro BEFORE the project is built!
click "Edit" in left toolbar (probably already highlighted)
Projects pane with GPSBabel is next to left toolbar
GPSBabel.pro is first entry in GPSBabel project
can expand Headers or Sources folders to edit other files also
double-click GPSBabel.pro to open for editing in main window (or edit with vi, NOT notepad)
- F to find strings
- S to save edits (or pull down File>Save)
- click "X" in upper right corner to close editor window (prompts to save)
on line 258 are hard-coded paths to setupapi.lib and hid.lib
- those paths did NOT exist on my machine (but might exist elsewhere?)
- the filename syntax is wrong for Windows! (XXX.lib vs libXXX.a)
- must use fully qualified path and hybrid syntax! (drive letter and colon with forward slashes)
search your Qt5 installation folders to find *setupapi*
- I never got LIBPATH or PATH to work!
- replace LIBS += "C:/Program Files/Windows Kits/8.0/Lib/win8/um/x86/setupapi.lib" "C:/Program Files/Windows Kits/8.0/Lib/win8/um/x86/hid.lib"
- with LIBS += "C:/Qt5/Tools/mingw48_32/i686-w64-mingw32/lib/libsetupapi.a" "C:/Qt5/Tools/mingw48_32/i686-w64-mingw32/lib/libhid.a"
save GPSBabel.pro
- configure project Build Settings
click "Projects" in left toolbar
choose GPSBabel tab in main window, choose Build&Run on first line under tab name
choose Build on second line under tab name (shows Build Settings)
- pull down Configuration = Release (default is Debug)
- UNcheck "Shadow Build" to build in main source tree
obj and exe will be in S:\software\QtProjects\gpsbabel\release
- leave everything else defaulted
- configure project Run Settings
click "Projects" in left toolbar
choose GPSBabel tab in main window, choose Build&Run on first line under tab name
choose Run on second line under tab name (shows Build Settings)
- NOTE: do not know how to make setup.exe or install.exe or create new install folder
this build relies on existing GPSBabel installation
- should archive pre-installed gpsbabel.exe just in case!
- "run" will replace only GPSBabel.exe and run it from pre-installed folder
- chmod installation or copy will fail and Run/Deploy will report Access Denied
for each file gpsbabel install folder AND gpsbabel executable
- right-click, choose Properties, go to Security tab
- click Edit and grant Full Control to Users
- pull down Method = Deploy Locally
- pull down Add Deploy Step, choose Custom Process Step
Command = C:\MinGW\bin\objcopy.exe
(I needed a non-windows version of COPY, which I found in the MinGW folder)
Arguments = "S:\software\QtProjects\gpsbabel\release\GPSBabel.exe" "C:\Program Files\GPSBabel\GPSBabel.exe"
Working directory = (leave default, doesn't matter)
- pull down Run Configuration>Add, choose Custom Executable
click Run>Rename, choose name that goes with test case
Executable = S:\software\QtProjects\gpsbabel\release\GPSBabel.exe
Arguments = -w -r -t -i tpo3 -f S:/temp/HuddartPark.tpo -o gpx -F S:/temp/HuddartPark.gpx
(as needed for your test case)
- pull down File>Close All Projects and Editors
not really needed, just leaves a clean desktop for later
- exit Qt, GPSBabel is now ready to build
- Build and Run GPSBabel in Qt5 Creator
- start Qt5 Creator from desktop icon, not start menu (so it starts in the proper folder)
- click Qt Welcome button on left, then Projects next to it, then GPSBabel under Recent Projects
(or pull down File>Open File or Project and browse to GPSBabel.pro)
- BUILD:
check Build Settings to make sure the hammer icon will build what you want
- Projects>GPSBabel>Build&Run>Build>BuildConfiguration=Release was chosen above
click hammer icon at bottom of left toolbar to build
(or pull down Build>Build Project GPSBabel)
- watch lower right corner for popup status (takes a few minutes the first time)
get about a thousand warning messages
- ignore them all! (count is beside yellow icon)
- click "Issues" button at the bottom if status shows a red icon
scroll down in warnings/errors list to find problem
one possible fatal error is failure to find libsetupapi.a and libhid.a
- right-click on an issue and choose Show Output for details
(jumps to related lines from make transcript)
- click "Compile Output" button at bottom for full transcript
- RUN:
check Run Settings to make sure the triangle icon will run the way you want
- Projects>GPSBabel>Build&Run>Run>RunConfiguration=Custom was chosen and renamed above
click plain green triangle icon at bottom of left toolbar to run normally
(or triangle with a gray bug on it to run with debug)
click "Application Output" button at bottom for transcript of the run