老程序员分享:OpenCPN介绍及编译

简介: 老程序员分享: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

(3) 安装CMake,我这里安装的CMake2.8版本 CMake使用教程参见

(4) 安装Gettext,编译需要,下载安装POEDIT;

(5) 下载wxMSW-2.8.12,原因在于该软件采用该界面库,下载地址为:

安装或者解压后,修改文件 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 //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDE0NTY0OA==.html

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打开

设置相关工程//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDE0MjYwOA==.html

编译为UNICODE。如下所示:

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

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

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

以上为OpenCPN的编译步骤。

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


"
image.png
相关文章
|
Java API Android开发
DDS、FastDDS、OpenDDS扫盲
DDS、FastDDS、OpenDDS扫盲
2727 0
【QT】创建、打开QT项目只显示.pro文件的问题解决
【QT】创建、打开QT项目只显示.pro文件的问题解决
3836 0
|
API 开发工具 git
git常用的API以及每个的应用场景
【4月更文挑战第5天】Git是流行的分布式版本控制系统,用于代码管理,提供丰富的API。本文概述了Git常用API,如`git init`(初始化仓库)、`git add`(添加到暂存区)、`git commit`(提交)、`git remote add origin`(添加远程仓库)、`git pull`和`push`(同步远程仓库)、`git branch`(分支管理)以及`git checkout`(切换分支或恢复文件)。了解和熟练使用这些API能提升开发效率和代码质量,更多Git功能可参考官方文档。
751 0
|
存储 开发框架 算法
【串口通信】使用C++和Qt设计和实现串口协议解析器(一)
【串口通信】使用C++和Qt设计和实现串口协议解析器
3230 0
|
前端开发 JavaScript 数据可视化
Echarts 折线图完全配置指南 - 手把手教你设置 Echarts 折线图详细教程
Echarts 折线图是图表中最常用的显示形式之一。使用 Echarts 做出基本的折线图很简单,但要是想把多组数据放在一张图表中,展示的漂亮又直观就不容易了。本文将带领大家从最基本的折线图,一步步完善,最终做出可读性很高的可视化图表。 根据本教程在卡拉云中搭建的折线图 Demo,你可以立即注册卡拉云,跟随本教程学习 跟随本教程你将学到 1.折线外观属性 折线增加弧线平滑过渡 折线图变为散状圆点 实线改为虚线 折线指定颜色 增加数据显示 表格外观属...
1632 0
|
10月前
一文带你封装Vue3 Echarts
一文带你封装Vue3 Echarts
831 7
一文带你封装Vue3 Echarts
|
12月前
|
XML 存储 移动开发
|
12月前
|
前端开发 JavaScript
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
1717 8
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 网格布局Grid Layout
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 网格布局Grid Layout
1952 2
|
运维 监控 测试技术
自动化运维工具的设计与实现
【8月更文挑战第31天】在现代软件开发中,自动化运维是提高效率、减少错误的关键。本文将探讨如何设计并实现一个自动化运维工具,通过具体代码示例展示其构建过程。我们将从需求分析入手,逐步深入到工具的设计思路、核心功能实现以及最终的部署与测试。文章旨在为读者提供清晰的自动化运维工具开发指导和实践参考。