OpenCPN介绍及编译

OpenCPN是一个航海应用软件系统,采用wxWidgets界面框架,支持OpenGL,可以跨平台运行在Windows , Linux , Mac电脑上。

OpenCPN是一个自由软件工程,遵从GPLv2协议开放源代码,支持S57矢量格式BSBv3栅格格式海图;CM93矢量格式支持,支持S52显示标准,支持自动海图跟踪,支持航线规划及跟踪,支持NMEA0183 GPS接口, GPSD接口,支持AIS接口,实现船舶跟踪和避碰报警,最重要的是支持插件机制,可以方便扩展功能。

目前最新稳定版本是v3.0.2版本,研究了一段时间,在windows下编译方法如下:

(1)      准备VS2010 ,装sp1

(2)      通过GIT获取源码,git clone git://github.com/OpenCPN/OpenCPN.git

(3)      安装CMake,我这里安装的CMake2.8版本       CMake使用教程参见 http://blog.csdn.net/xuguangsoft/article/details/8162757

(4)      安装Gettext,编译需要,下载http://www.poedit.net/,安装POEDIT;

(5)      下载wxMSW-2.8.12,原因在于该软件采用该界面库,下载地址为:http://www.wxwidgets.org/downloads/#latest_stable

安装或者解压后,修改文件 include\wx\msw\setup.h

Set:

#definewxUSE_GRAPHICS_CONTEXT 1

#definewxUSE_GLCANVAS       1

(6)      编译wxMSW-2.8.12

cmd进入编译目录cd  ${WXDIR}\build\msw

执行:nmake -f makefile.vc BUILD=debug MONOLITHIC=0 SHARED=1 UNICODE=1USE_GDIPLUS=1 USE_OPENGL=1

等待大概几分钟,编译完成,无错误。

(7)      编译OpenCPN

启动CMake (cmake-gui)

配置如下:

依次点击Configure ,Generate;

出现Cofiguring  done

Generating  done

说明成功完成,否则失败,常见问题是需要设置GetText相关参数;安装POEDIT,在程序目录下即可找到相关exe文件。

执行完成后,在OpenCPN\build下可以找到OpenCPN.sln,通过VS2010打开

设置相关工程编译为UNICODE。如下所示:

设置相关工程预处理增加WXUSINGDLL,如下所示:

修改引入库名称,修改为Unicode版本的,如下:

然后编译,即可成功!调试方式运行,效果如下:

以上为OpenCPN的编译步骤。

欢迎交流,遇到问题可以联系我L_787#sina.com

OpenCPN介绍及编译的更多相关文章

  1. zlib开发笔记(四):zlib库介绍、编译windows vs2015x64版本和工程模板

    前言   Qt使用一些压缩解压功能,介绍过libzip库编译,本篇说明zlib库.需要用到zlib的msvc2015x64版本,编译一下.   版本编译引导 zlib在windows上的mingw32 ...

  2. CentOS8安装Geant4笔记(一):Geant4介绍、编译和安装

    前言   在服务器CentOS8.2上安装geant4软件.   GEANT4 介绍   Geant4 是一个用于模拟粒子穿过物质的工具包.其应用领域包括高能.核物理和加速器物理,以及医学和空间科学研 ...

  3. CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面

    前言   上一篇,安装了Qt5环境.  本篇在服务器CentOs8.2上安装geant4软件,geant4使用Qt5来显示.   GEANT4 介绍   Geant4 是一个用于模拟粒子穿过物质的工具 ...

  4. Mqtt开发笔记:windows下C++ ActiveMQ客户端介绍、编译和使用

    前话   项目需求,需要使用到mqtt协议,之前编译QtMqtt库,不支持队列模式queue(点对点),只支持订阅/发布者模式.,所以使用C++ ActiveMQ实现.   MQTT协议 简介   M ...

  5. GEOS库的学习之一:介绍和编译

    对GEOS库的学习,源于一个项目:要在c++中判断二维平面中两个多边形的关系(无论凹凸).也就是判断两个多边形是否相交.相容等.听起来很简单,可实现起来却比较难,而项目又催得紧.于是我去搜索了一下,看 ...

  6. DPDK - gsg文档(介绍与编译)

    && Hugepage 提前分配hugepage内存,可以减少虚拟页地址转换到物理地址所需的时间. 相关命令: 在虚拟机上运行时,在没有NUMA的机器上,执行“echo 1024 &g ...

  7. Nginx的介绍以及编译安装详解

    Nginx的介绍以及编译安装详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx(全称”engine x“)诞生背景 apache主要优点是功能丰富且足够稳定,但是其 ...

  8. 01-nginx介绍及编译安装

    第一天的时候学过apache,nginx和apache一样都是一个WEB服务器.也就是说你的网站之所以可以在网上运行,总得有一台机器在为你提供服务,这台机器就是服务器.这台服务器通过什么软件在为你提供 ...

  9. RiscV汇编介绍(1)-编译过程

    从c/c++源文件,到可以执行文件,需要以下几个步骤: 预处理/编译 汇编 链接 下面我们以hello world程序为例,展示整个编译链接过程. 1. 编写hello.c代码 #include &l ...

随机推荐

  1. Java知识点梳理——读写分离

    1.读写分离:可以通过Spring提供的AbstractRoutingDataSource类,重写determineCurrentLookupKey方法,实现动态切换数据源的功能:读写分离可以有效减轻 ...

  2. pgsql 数据类型

  3. mysql系列之4.mysql字符集

    针对mysql语句的临时办法: 先查看下mysql的各种编码设置情况, 如果结果显示有几项的编码不一致, 请先调整linux的系统编码 mysql> show variables like 'c ...

  4. linux install beanstalkd

    you can instal it via git and then copy systemd script: Step 0. Install git yum install git Step 1. ...

  5. IOS 工程所支持的版本 设置

    如何设置 Base SDK 和 iOS Deployment Target ? http://leopard168.blog.163.com/blog/static/16847184420116159 ...

  6. php下载并安装pear脚本

    下载并安装pear脚本cd /usr/local/php/bin/curl -o go-pear.php http://pear.php.net/go-pear.phar ./php go-pear. ...

  7. M1卡的工作原理【转】

    本文转载自:https://blog.csdn.net/zmq5411/article/details/52042457 M1卡的工作原理 本篇对M1卡的编程是利用上述第二种方法.M1卡最为重要的优点 ...

  8. hadoop —— eclipse插件安装配置

    安装: 1. 将hadoop-core-0.20.2-cdh3u6/contrib/eclipse-plugin/hadoop-eclipse-plugin-0.20.2-cdh3u6.jar拷贝到e ...

  9. <再看TCP/IP第一卷>关于网络层及协议细节---IP协议

    说到关于IP协议,就必须先说IP协议的两个特性: (一)不可靠性(unreliable) 不可靠性的意思是它不能保证IP数据报能成功地到达目的地,IP所能做的只是提供最好的传输服务,IP有一个简单的错 ...

  10. 【博弈论】hihocoder

    #1163 : 博弈游戏·Nim游戏 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob. Alice与Bob总是在进行各种各样 ...