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介绍及编译的更多相关文章
- zlib开发笔记(四):zlib库介绍、编译windows vs2015x64版本和工程模板
前言 Qt使用一些压缩解压功能,介绍过libzip库编译,本篇说明zlib库.需要用到zlib的msvc2015x64版本,编译一下. 版本编译引导 zlib在windows上的mingw32 ...
- CentOS8安装Geant4笔记(一):Geant4介绍、编译和安装
前言 在服务器CentOS8.2上安装geant4软件. GEANT4 介绍 Geant4 是一个用于模拟粒子穿过物质的工具包.其应用领域包括高能.核物理和加速器物理,以及医学和空间科学研 ...
- CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面
前言 上一篇,安装了Qt5环境. 本篇在服务器CentOs8.2上安装geant4软件,geant4使用Qt5来显示. GEANT4 介绍 Geant4 是一个用于模拟粒子穿过物质的工具 ...
- Mqtt开发笔记:windows下C++ ActiveMQ客户端介绍、编译和使用
前话 项目需求,需要使用到mqtt协议,之前编译QtMqtt库,不支持队列模式queue(点对点),只支持订阅/发布者模式.,所以使用C++ ActiveMQ实现. MQTT协议 简介 M ...
- GEOS库的学习之一:介绍和编译
对GEOS库的学习,源于一个项目:要在c++中判断二维平面中两个多边形的关系(无论凹凸).也就是判断两个多边形是否相交.相容等.听起来很简单,可实现起来却比较难,而项目又催得紧.于是我去搜索了一下,看 ...
- DPDK - gsg文档(介绍与编译)
&& Hugepage 提前分配hugepage内存,可以减少虚拟页地址转换到物理地址所需的时间. 相关命令: 在虚拟机上运行时,在没有NUMA的机器上,执行“echo 1024 &g ...
- Nginx的介绍以及编译安装详解
Nginx的介绍以及编译安装详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx(全称”engine x“)诞生背景 apache主要优点是功能丰富且足够稳定,但是其 ...
- 01-nginx介绍及编译安装
第一天的时候学过apache,nginx和apache一样都是一个WEB服务器.也就是说你的网站之所以可以在网上运行,总得有一台机器在为你提供服务,这台机器就是服务器.这台服务器通过什么软件在为你提供 ...
- RiscV汇编介绍(1)-编译过程
从c/c++源文件,到可以执行文件,需要以下几个步骤: 预处理/编译 汇编 链接 下面我们以hello world程序为例,展示整个编译链接过程. 1. 编写hello.c代码 #include &l ...
随机推荐
- python 基础 4.4 生成式 生成器 迭代器
一.生成式和生成器 列表生成式是python受欢迎的语法之一,通过一句简洁的语法就可以对一组元素进行过滤,还可以对得到的元素进行转换处理. #/usr/bin/python #coding=u ...
- MongoDB在win7上的安装(精简版)
1.下载mongdb的zip文件,解压后会发现有bin文件夹,在同层目录下建一个data目录, 2.在data目录下建一个log和db文件夹, 3.在log文件下建一个MongoDB.log 文件 4 ...
- Redis3.x HA 方案(基于 Sentinel 方式)
第一部分 Redis-HA 搭建 一.Redis-HA 拓扑 一主两从,主从复制,故障时主从切换 三个Redis节点 + Sentinel 节点 Master 127.0.0.1 ...
- win7计划任务定时执行PHP脚本设置图解
做php开发的朋友有时候会希望自己的电脑能每天定时的运行一下某个脚本,但定时执行php脚本这种概念似乎多半是在linux中才提到,下面这篇文章主要和大家分享一下在win7下如何设置计划任务,以实现定时 ...
- LeetCode:二叉树剪枝【814】
LeetCode:二叉树剪枝[814] 题目描述 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1. 返回移除了所有不包含 1 的子树的原二叉树. ( 节点 X 的子树为 X ...
- LeetCode:访问所有节点的最短路径【847】
LeetCode:访问所有节点的最短路径[847] 题目描述 给出 graph 为有 N 个节点(编号为 0, 1, 2, ..., N-1)的无向连通图. graph.length = N,且只有节 ...
- mooc_java 集合框架上 学生所选课程
用一个集合Set存放学生所选课程接口不能实例化,所以用其实现类进行实例化 set接口不能实例化,通过HashSet这个实现类来进行实例化,需要导入包this.courses=new HashSet() ...
- hdmap相关
图片来源:https://vires.com/ 新闻摘抄: 对此,武汉光庭信息技术股份有限公司副总经理罗跃军告诉记者:“事实上,最初由自动驾驶车身控制系统协会所提出的地图精度要求很高,需要达到5cm甚 ...
- 分享知识-快乐自己:Oracle基本语法(创建:表空间、用户、授权、约束等)使用指南
Oracle12c 与 Oracle11g 创建用户时有差别.Oracle12C默认为 CDB模式 这时创建用户的时候需要加上 c## 开头:例如:c##MLQ. --说明--需求:创建表空间(MLQ ...
- 连接并同步windows下的git仓库
1. 需求 电脑A和电脑B本来通过服务器同步工作目录.服务器时linux系统上有个裸仓库,不管在A上还是B上工作,工作完毕后使用git go与服务器仓库同步.A和B都是windows系统,在工作目录下 ...