wxWidgets 3.x A New Hope

wxWidgets
wxWidgets is an OpenSource C++ Libray for Cross Platform GUI development. I have found that you can sucessfully develop high performance 64-bit windows applications with this library instead of using the .NET environment, the major benefit being that you can theoretically recompile for Linux or the Mac with minor changes. (Disclaimer, I only run Linux at home, and would prefer to never use windows again as long as I live, but the commercial desktop world is not there yet).

I used to program with Qt to avoid the .Net environment, however Qt desktop was pretty much neglected during the Nokia takover and subsequent sell off, so I gave up using Qt and started using wxWidgets for some commercial projects on Windoz 7 and now Windoz 10, and I have been so happy with the results that I have decided to post some details and examples of how I used wxWidgets and the gnu 64bit compiler for doing high performance OpenGL and database applications on Windoz. There is just not enough documentation out there to make it easy for developers to get up and running with opensource tools, so hopefully this will help some of you who want to try something more opensource.

The software packages I have been using are:
1. GNU GNU C++ Compiler at TDM-GCC or the MINGW64 bit compiler

2. wxWidgets at http://www.wxwidgets.org/

3. OpenGL OpenGL (already part of every OS in existance)

4. SQLite SQLite (using the wxsqite library on github at https://github.com/utelle/wxsqlite3 )

5. MariaDB MariaDB (using the MariaDB C++ Connector at https://mariadb.com/products/connectors-plugins)

6. LibHaru libHaru (for simple PDF writing at http://libharu.org/ )

The development environment I am using is CodeBlocks , yes I know it is really old, but it still works great and is the lightest weight IDE I have ever used. If you know of something better, please tell me cause I would love to try it. (I am giving Atom a try right now, but it is not usable yet)

Each project has many steps for setting it up and they can all be found somewhere in the documentation for each project, however some of them are harder than others to setup, my goal is to make this easy so I am going to document it all here in one place, with many examples.

1. Download and Install the GCC Compiler and Codeblocks