Visual Studio Community 2022 + Win10 编译 OpenCPN 5.9.0 记录

news/2024/11/27 8:20:58/

前言

前两天尝试用vs2017编译OpenCPN5.0.0,前后折腾了两三天总算编译成功了。官网给出的编译过程比较简单,我在实际编译过程中遇上了很多很多的问题,最多的就是缺少库,好在最后编译通过了。

后来浏览OpenCPN官网的时候发现发布了“5.8.0 Fast Track”,说的就是5.8.0以上的版本的快速编译,顿时感觉之前白折腾了。“5.8.0 Fast Track”提供了编译过程中用到的批处理文件,直接一键执行就行了,省去了手动安装库、设置环境变量的步骤,感觉不错于是在此记录一下。

构建的步骤

(一) 安装 Visual Studio Community 2022

官网链接:https://visualstudio.microsoft.com/vs/community/
注意:需要安装C++的相关组件,为了保证安装完整,我选的有点多。
在这里插入图片描述

(二)安装 Git

官网链接:https://git-scm.com/
默认选项不用更改,直接下一步下一步就行了。

(三)安装 Chocolatey

安装步骤

Chocolatey是用于Windows系统的一款软件管理工具。用于完成Windows中软件的搜索、安装、卸载等操作。既可以使用命令行完成也可以使用图形界面。

  1. 以管理员权限打开Windows PowerShell。
  2. 在打开的“Windows PowerShell”中输入如下命令:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

然后回车,就会自动下载并安装。

  1. 安装后在Windows PowerShell中输入:
choco

显示版本号,则安装成功。

  1. 安装图形化界面(非必须),代码如下:
choco install chocolateygui

安装之后输入 chocolateygui 打开图形界面(或在开始菜单中打开Chocolatey Gui 软件),选择左侧菜单中的chocolatey,安装你想安装的软件即可。
在这里插入图片描述

常用命令

// 更新chocolatey命令
choco upgrade chocolatey
// 安装软件包
choco install 软件包名称
// 安装git:
choco install git.install
// 安装Chrome:
choco install googlechrome
// 安装VS Code:
choco install vscode
// 更新软件包
choco upgrade 软件包名称
// 卸载软件包
choco uninstall 软件包名称

(四)安装用到的库

安装用到的库非常的多,每台电脑的环境有又不一样很难全部列出来,只能是在安装过程中出现错误后按照错误提示再去找。这里我只列举其中几个库的安装步骤。

  1. 安装7z,构建脚本用到了这个,以管理员身份运行CMD,输入choco install 7z
  2. 安装Gettext并添加环境变量,下载链接。

(五)克隆项目并开始构建

  1. 克隆项目源码,访问不了github的话可以在git bash设置代理或者使用码云加速。
    git config --global http.proxy 'http://172.16.18.104:65208' // 设置代理
    git config --global https.proxy 'https://172.16.18.104:65208'
git clone https://github.com/OpenCPN/OpenCPN.git
  1. 以管理员身份运行x86 Native Tools Command Prompt for VS 2022,cd到你克隆的OpenCPN根目录下,执行:
buildwin\win_deps.bat

然后等待脚本执行完毕。

  1. 执行完毕后就可以在OpenCPN\build文件夹下找到vs的项目文件OpenCPN.sln了,此时你可以直接用vs打开来构建项目也可以使用命令构建,两种方法选一种操作就可以。
    (1)使用命令直接构建,在x86 Native Tools Command Prompt for VS 2022中执行cmake --build . --target opencpn --config Release,等待执行完毕即可。
    (2)使用vs打开OpenCPN.sln,把opencpn设为启动项目开始构建就行了。
  2. 编译过程中肯定会有报错,根据错误信息解决一下,最后完美运行,断点可设。在这里插入图片描述

(六)小结

  1. 官网给出的5.8以上版本的编译步骤比5.0简单太多了,但也不会一下就能编译成功,根据错误信息一个一个解决就行了。
  2. 我在编译过程中也遇到很多问题,好在最后通过百度和ChatGpt都解决了。
  3. 最后把我配置好的虚拟机放在云盘上,下载链接见附录。
  4. OpenCPN v5.0.0使用的是wxWidgets v3.1.2,而在5.8.0以上使用的是wxWidgets 3.2。

(七)附录

  1. OpenCpn 5.8.0 Fast Track
  2. Translating OpenCPN
  3. 配置好的虚拟机

http://www.ppmy.cn/news/384871.html

相关文章

如何选择好用的效果图渲染平台

在现代的建筑设计、室内设计、电影动画等行业中,效果图已经成为了一个重要的工具,能够帮助设计师和制作人员更好地呈现他们的想法和概念。而要制作出高质量的效果图,一个好用的效果图渲染平台是非常必要的。 如何选择好用的效果图渲染平台呢…

OpenCV4.5 报错error:‘ CV_* ’was not declared in this scope 解决解决办法总结

在学习视觉SLAM十四讲过程中,好多地方的opencv需要更改,查阅了一些资料,在这里做一下总结 OpenCV4.5 报错error:‘ CV_* ’was not declared in this scope 解决解决办法总结 1. CV_LOAD_IMAGE_UNCHANGED和CV_LOAD_IMAGE_COLOR2. …

1088 Rational Arithmetic (PAT甲级)

这道题折磨了我很久,最后发现bug竟然是因为使用了abs()函数在long long类型上……必须使用llabs(). 或者像其他人一样先using namespace std; 就可以直接用abs()。 https://bbs.csdn.net/topics/392139827?listlz 这里有相关的讨论。“C标准中,cstdio…

Windows 离线安装mysql5.7

一、下载MySQL5.7最新版 1、官网地址 https://downloads.mysql.com/archives/community/ 2、下载MySQL5.7最新版 下载下图所示的安装包: 二、安装MySQL5.7 1、解压 将刚才下载压缩包解压搭配目录C:\software\mysql-5.7.41,(路径大家可…

enscape3.5新版本更新,神仙功能还不少

Enscape于2015年首次发布,已成为建筑可视化市场的关键工具之一,在上一次CGarchitect渲染调查中名列前十。 图片来源于CGarchitect渲染调查报告 相对于同行的其他渲染器,Enscape最大的优势在于它并未因为其易于使用特性而降低了品质&#xff…

canon 佳能相机识别文件的格式

佳能相机识别sdcard里面文件格式 前四位为命名方式,后四位为照片编号 比如C19A0011.JPG 必须遵守一下两个规则,否则相机无法识别 命名长度为8位后四位必须为纯数字

8分钟让你完全掌握代理IP基础知识和实际应用

概念 代理IP可以理解为一个中转服务器,将用户和目标服务器之间的请求和响应进行转发和代理。使用代理IP的主要目的是隐藏用户的真实IP地址、访问被限制的内容、提高网络连接速度和保护用户隐私。 目录 概念 一、代理IP的工作原理 二、代理IP的类型 三、为什么…

【马蹄集】第十五周作业

第十五周作业 目录 MT2147 纸带MT2148 围栏木桩MT2152 抽奖MT2153 异或和MT2154 海龟 MT2147 纸带 难度:钻石    时间限制:2秒    占用内存:128M 题目描述 小码哥有一张 1 n 1\times n 1n 的纸带,由 n n n 个格子组成。初始…