Блог в котором есть много интересной информации…
Делаем всё по инструкции, ставим на винду Cmake, POedit, нужен ли NSIS непонятно, скачиваем и стоим wxWidgets-3.0.2 (обе конфигурации debug и release), затем прописываем переменные окружения:
берем OpenCPN из Git и запускаем CMake GUI через батник с прописанными путями:
PATH=%PATH%;D:\Lib\wxWidgets-3.0.2;C:\Program Files (x86)\Poedit\GettextTools\bin C: cd "C:\Program Files (x86)\CMake" "C:\Program Files (x86)\CMake\bin\cmake-gui.exe"
открываем и стоим OpenCPN\build\OpenCPN.sln в VS2013
Запускаем под дебагером с ключом /p, что значит portable:
после первого запуска надо прописать OpenGL=1 в файле opencpn.ini, в этом случае в коде будет установлен флажок g_bopengl и для отрисовки карты будет вызываться следующая функция:
void glChartCanvas::OnPaint( wxPaintEvent &event )
{
    wxPaintDC dc( this );
    Show( g_bopengl );
    ...
    //      Recursion test, sometimes seen on GTK systems when wxBusyCursor is activated
    if( m_in_glpaint ) return;
    m_in_glpaint++;
    Render();
    m_in_glpaint--;
}
в коде в 8-ми файлах есть условная компиляция по дефайну ocpnUSE_GLES (судя по всему, они с этим дефайном собирают проект под Android):
#ifndef ocpnUSE_GLES // linestipple is emulated poorly
    if( !strncmp( str, "DASH", 4 ) ) {
        glLineStipple( 1, 0x3F3F );
        glEnable( GL_LINE_STIPPLE );
    }
    else if( !strncmp( str, "DOTT", 4 ) ) {
        glLineStipple( 1, 0x3333 );
        glEnable( GL_LINE_STIPPLE );
    }
    else
        glDisable( GL_LINE_STIPPLE );
#endif    
этот дефайн по умолчанию не установлен, его надо где-то включить для всего solution:
главное окно приложения выглядит следующим образом:
Полезные ссылки: