OpenCPN介绍及编译

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

安装或者解压后,修改文件 includewxmswsetup.h

Set:

    #definewxUSE_GRAPHICS_CONTEXT 1

     #definewxUSE_GLCANVAS       1

(6)      编译wxMSW-2.8.12

cmd进入编译目录cd  ${WXDIR}uildmsw

执行: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文件。

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

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

 

 

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

 

 

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

 

 

 

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

 

 

以上为OpenCPN的编译步骤。

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

原文地址:https://www.cnblogs.com/LiuYanYGZ/p/7507792.html