Just an FYI. I downloaded the most recent wxwidgets-3.1.0 and built opencpn
with it using VS15 using the V140 runtime, sdk 10, and .net 4.6. All seems to work. Someone that knows a lot more about wxwidgets than I do would have to decipher the changes made. A couple of interesting notes about all of that.
1. The current
cmake files for opencpn
do not copy the wxwidgets dll although that looks like the intention. You have to manually add them to your buildwin directory.
2. There are a lot of deprecated functions. I ignored them all and everything seems to work. It would seem that these probably need to be addressed at some point.
3. Wxwidgets now supports an x64 build. I tried that. The only change that had to be made to opencpn was one instance of an implicit cast to a pointer to a function. I changed that easily enough to an explicit conversion.
4. Related to an x64 build, I can't complete the build because I don't have x64 builds of expat, cairo etc. I looked at rebuilding those, but it looks like it would take a lot of time to figure out what and how to do that. If someone wants to rebuild
those into x64 builds, I will be glad to continue the x64 effort. I have no idea if this is even work the time or effort, but generally things that do a lot of data manipulation or pixel pushing benefit from a true 64 bit build.
5. They claim better event handling and better openGL support. Don't know if that is actually true.
6. Related to VS15 and V140, microsoft changed the name of one of the two dll's need to be included in the wxwidget build. It took a bit, I finally found the new version in the redistribution and added it to buildwin and all is well.
7. Of course all the addons need to be rebuilt using the v140 libraries. I have rebuilt a few (draw, weather
routing, climatology, watchdog iirc). No issues with any of those.
8. Widget 3.1 is still considered a development build, and is still changing, although I haven't seen many changes since it was released. I appears that 3.2 will be the next release for production.
9. 3.1 adds support for QT. I doubt that would be of much use to windows/mac/linux users, but may be useful for the android builders/users.
If I was road-mapping the next release of opencpn, I would wait on wxwidgets 3.2, but I would fix the deprecated functions against 3.1. As related to vs15, there is supposed to be a an update coming this spring that fixes a few annoying things in the IDE and some ancillary support stuff, but certainly vs15 is usable today. The only issue I would be concerned about is supporting users still on XP, but I believe (although I don't know for sure), that they can still run programs built with v140 and SDK 10 although they may need the latest redistributes from msoft.
Just wanted to pass this along in case someone else is thinking about going down this path. Not suggesting that opencpn needs to be on this path right away, but it something to think about.