internal: preamble prerequisites folders building downloads ... end
2009-06-04: This was my first build of this FlightGear (FG), and X-Plane, tool, TaxiDraw - an airport runway, and taxiway editor. It takes the contents of the apt.dat file, which is part of the FG base data in Airports/apt.dat.gz - note you have to gzip-decompress it first - and allows you to select an airport, and modify the layout, exporting a modified <name>.dat file, which can then be used to amend the full apt.dat file.
WARNING: To use this amended apt.dat file in FG it is necessary to completely re-build the area of scenery, at least around the airports modified, so this means you MUST be familiar with the TerraGear (TG) suite of tools - see my TG Suite build - to be able to 'construct' scenery. To repeat, amending an airport using this tool is of NO USE unless you are then prepared to re-building ALL the surrounding scenery, with all that, that entails ;=()
Note: To included some PNG graphic images, it comes with a 'bin2c' tool, which converts the PNG files to a simple hexified byte array. This 'conversion' is done only in the Debug configuration, as a special custom build step, and produces the required set of header files in the 'src/Main/icons' folder.
1. wxWidgets - http://wxwindows.sourceforge.net/
wxWidgets is a free C++ framework that facilitates cross platform software development, including GUIs, threads, sockets, database, file system access, etc. I chose version wxMSW 2.8.10 March 17, 2009 which downloads -
28/05/2009 15:13 12,811,696 wxMSW-2.8.10-Setup.exe
which will expand when run, and put the source in a folder of your choice. This includes it ALL - the essential 'wx_core', plus wx_adv, wx_aui, wx_base, wx_dbgrid, wx_gl, wx_html, wx_media, wx_net, wx_odbc, wx_qa, wx_richtext, wx_wxexpat, wx_wxjpeg, wx_wxpng, wx_wxregex, wx_wxtiff, wx_wxzlib, wx_xml and wx_xrc.
Maybe I could have got away with just the 'core', but anyway, without too much trouble this produced BOTH 30-40 static libraries, and shared DLL/LIB... I chose only to use the 'static' libraries, since I never like the hassle of using a DLL, which must be appropriately 'available' to run the application.
2. libcurl - http://curl.haxx.se/
curl is a tool for transferring files with URL syntax. Again it can be compiled as a shared DLL/LIB, or 'static' library. As above I chose the latter, and this means a define of CURL_STATICLIB must be added to the TaxiDraw project. I am using version 7.19.4 March 3 2009
08/03/2009 13:29 3,585,760 curl-7.19.4.zip
but note there are now a later version
I do not remember any MSVC build files coming with this source, but it was not difficult to build what I called 'lib_curl.lib'...
Having chosen a <root> WORK folder for this project, I used a simple :-
<root>\curl \wxWidgets-2.8.10 \TaxiDraw
Building curl first, then wxWidgets, and finally TaxiDraw...
Source: I used the current CVS source - check here for any later instructions
Enter a blank password (just hit return) when prompted for a password. cvs -d :pserver:email@example.com:/cvsroot/taxidraw login cvs -z3 -d :pserver:firstname.lastname@example.org:/cvsroot/taxidraw co TaxiDraw
Although the 'TaxiDraw\msvc' directory contains sub-directories of '6.0', '7.1', and '8.0', I found 6 and 8 quite out of date, and did NOT include the 'bin2c' tool, very necessary to get the needed 'icons' header files mentioned above, so although I was building using MSVC8, I commenced with converting the '7.1' build files to MSVC8.
But aside from -
- the usual 'fixing' of the additional include and library paths,
- adjusting the libcurl.lib to the name I had used, Lib_Curl.lib,
- ensuring CURL_STATICLIB was defined, and
- adding Winmm.lib and Wldap32.lib to the link,
the build went quite smoothly. As mentioned above, the Debug configuration had to be built first, to ensure the custom build step used the 'bin2c' tool to generate the PNG 'icons' header files
In no time at all I had my Release EXE -
04/06/2009 11:50 2,314,240 TaxiDraw.exe
which runs without any DLL dependence, except of course the MS RUNTIME DLLS...
*** As always, take care downloading and running executables from the web! ;=(( ***
NOT RECOMMENDED: See above to download, and get the latest source, but if you are VERY LAZY, and do not mind STALE sources, then ;=(( AT YOUR OWN RISK!
EOP - taxidraw.htm