老程序员分享: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
相关文章
|
4月前
|
NoSQL 编译器 程序员
【C语言】揭秘GCC:从平凡到卓越的编译艺术,一场代码与效率的激情碰撞,探索那些不为人知的秘密武器,让你的程序瞬间提速百倍!
【8月更文挑战第20天】GCC,GNU Compiler Collection,是GNU项目中的开源编译器集合,支持C、C++等多种语言。作为C语言程序员的重要工具,GCC具备跨平台性、高度可配置性及丰富的优化选项等特点。通过简单示例,如编译“Hello, GCC!”程序 (`gcc -o hello hello.c`),展示了GCC的基础用法及不同优化级别(`-O0`, `-O1`, `-O3`)对性能的影响。GCC还支持生成调试信息(`-g`),便于使用GDB等工具进行调试。尽管有如Microsoft Visual C++、Clang等竞品,GCC仍因其灵活性和强大的功能被广泛采用。
152 1
|
7月前
|
存储 程序员 C#
揭秘C代码格式之美,助你写出'好用到哭'的示范程序!
揭秘C代码格式之美,助你写出'好用到哭'的示范程序!
34 0
|
7月前
|
算法 程序员
10年老程序员告诉大家什么时候该写什么样的代码
10年老程序员告诉大家什么时候该写什么样的代码
54 0
|
存储 自然语言处理 程序员
【C语言】 程序员的自我修养之(程序编译过程)
【C语言】 程序员的自我修养之(程序编译过程)
113 0
|
存储 自然语言处理 Linux
0基础C语言自学教程——收官之战——第十四节 文件的编译和链接
这个时候程序将使用一个运行时堆栈(stack),存储函数的局部变量和返回地址。程序同时也可以使用静态(static)内存,存储于静态内存中的变量在程序的整个执行过程一直保留他们的值。
163 0
0基础C语言自学教程——收官之战——第十四节 文件的编译和链接
|
程序员 编译器 C语言
程序员内功心法之程序环境和预处理(2)
程序员内功心法之程序环境和预处理(2)
171 0
程序员内功心法之程序环境和预处理(2)
|
自然语言处理 前端开发 算法
前端学编译原理(一):编译引论(上)
前端学编译原理(一):编译引论(上)
314 0
|
自然语言处理 前端开发 编译器
前端学编译原理(一):编译引论(下)
前端学编译原理(一):编译引论(下)
282 0
|
小程序 Linux 网络安全
崎岖坎坷小程序
0基础大三学生的小程序摸索之路。
崎岖坎坷小程序
|
IDE Java API
脑袋抽筋了的我非要调试OpenJdk,且看他怎么虐我
前言 说来话长,最近又闲的无聊,在看JDK的源码,但是很多关键的地方都是native方法,这就导致需要在往深处看,也就是需要看openjdk源码了,但是c++代码又谈何容易,况且也不怎么会。 但是想来想去,决定还是要研究一下的,在以前的文章中已经编译过了openjdk11,虽然过程坎坷,但也是成功了,那么接下来就是导入openjdk源码到ide中,在下面会以clion作为示例,clion下载安装就不说了。 激动的心,颤抖的手,Deepin下成功编译OpenJdk11!!! 光这导入就花了我1天,毕竟openjdk很复杂,而且参考的文章有的说只导入hotspot目录,有的说导入openjd
脑袋抽筋了的我非要调试OpenJdk,且看他怎么虐我

相关实验场景

更多