Win10 + VS2017 + Qt5.9.9 + OSG/OSGEarth 环境搭建 - 基于 vcpkg


1.  安装 VS2017

2.  安装 Qt5.9.9

3.  安装 Git

4.  安装 Vcpkg

  4.1  获取源码

  4.2  编译源码

  4.3  集成 Visual Studio

5.  安装 OSG/OSGEarth

  5.1  安装依赖项

  5.2  导出/导入已安装库

  5.3  vcpkg 自动安装 OSGEarth

  5.4  Visual Studio 手动编译 OSGEarth

 

  以 vcpkg 跨平台 C++ 包安装管理器,来进行 OSG/OSGEarth 环境搭建。

1. 安装 VS2017

  vcpkg 目前只兼容 Visual Studio 2015 update 3 及以上版本,本次安装使用的版本是 vs2017 社区版,各位根据自己需求安装即可。

  注意:由于后续 vcpkg 需求,安装时务必添加安装 English 语言包;如果 VS 已安装,未包含 English 语言包,请在工具 - 获取工具和功能 - 修改 - 语言包中安装。

2. 安装 Qt5.9.9

  2.1  安装 Qt

  各位根据自己需求下载安装即可。

  官方网站:http://download.qt.io/,下载缓慢,可使用国内镜像网站。

  镜像网站:

  2.2  安装 Qt_VS_Addin

  下载链接见 2.1 链接 archive 路径下开发工具。

3. 安装 Git

  官方网站:https://git-scm.com/

  1. 双击安装包,初始安装界面直接点击 Next;

  2. 选择安装路径,点击 Next;

  3. 选择安装组件,如下图红色方框为默认勾选,建议不做改动,绿色方框 1 为桌面快捷方式,绿色方框 2 为是否在所有控制台窗口中使用 TrueType 字体、是否每天检查更新。各位根据需求选择,点击 Next;

  4. 选择开始菜单,为开始菜单中所显示名称,默认即可,点击 Next;

  5. 选择默认编辑器,如 VSCode,各位根据需求选择即可,点击 Next;

  6. 创建文件夹界面,默认即可,点击 Next;

  7. 调整环境变量 PATH,推荐选项二,点击 Next;

  选项一,“仅从Git Bash使用Git”。这是最安全的选择,因为您的 PATH 环境变量不会被修改,您只能使用 Git Bash 工具支持 Git 命令,第三方如 Windows 的 cmd 命令行不支持 Git 指令。

  选项二,“从命令行以及第三方软件进行Git”。该选项被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的 Unix 工具造成环境混乱,您将能够从Git Bash、命令提示符和Windows PowerShell 以及在 PATH 中寻找 Git 的任何第三方软件中使用 Git。这也是推荐的选项。

  选项三,“从命令提示符使用 Git 和可选的 Unix 工具”。警告:这将覆盖Windows工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项。

  8. 选择 SSH 可执行文件,选择开源代码即选项一,点击 Next;

  9. 选择 HTTPS 后端传输,常用选项一,点击 Next;

  选项一,“使用 OpenSSL 库”。服务器证书将使用ca-bundle.crt文件进行验证。这也是我们常用的选项。

  选项二,“使用本地 Windows 安全通道库”。服务器证书将使用 Windows 证书存储验证。此选项还允许您使用公司的内部根 CA 证书,例如通过 Active Directory Domain Services 。

  10. 配置行尾符号转换,Windows 下选择选项一,点击 Next;

  选项一,“签出 Windows 风格,提交 Unix 风格的行尾”。签出文本文件时,Git 会将 LF 转换为 CRLF。提交文本文件时,CRLF 将转换为 LF。对于跨平台项目,这是 Windows 上的推荐设置(“ core.autocrlf”设置为“ true”)。

  选项二,“按原样签出,提交 Unix 样式的行尾”。签出文本文件时,Git 不会执行任何转换。 提交文本文件时,CRLF 将转换为 LF。对于跨平台项目,这是 Unix 上的建议设置(“ core.autocrlf”设置为“ input”)。

  选项三,“按原样签出,按原样提交”。当签出或提交文本文件时,Git 不会执行任何转换。不建议跨平台项目选择此选项(“ core.autocrlf”设置为“ false”)。

  11. 配置终端模拟器以与 Git Bash 一起使用,默认选项一即可,点击 Next;

  选项一,“使用 MinTTY(MSYS2的默认终端)”。Git Bash 将使用 MinTTY 作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和 Unicode 字体。Windows 控制台程序(例如交互式 Python)必须通过“ winpty”启动才能在 MinTTY 中运行。

  选项二,“使用 Windows 的默认控制台窗口”。Git 将使用 Windows 的默认控制台窗口(“cmd.exe”),该窗口可以与 Win32 控制台程序(如交互式 Python 或 node.js)一起使用,但默认的回滚非常有限,需要配置为使用 unicode 字体以正确显示非ASCII字符,并且在 Windows 10 之前,其窗口不能自由调整大小,并且只允许矩形文本选择。

  12. 配置额外选项,默认勾选前两个即可,点击 Next;

  选项一,“启用文件系统缓存”。文件系统数据将被批量读取并缓存在内存中用于某些操作(“core.fscache”设置为“true”)。 这提供了显著的性能提升。

  选项二,“启用 Git 凭证管理器”。Windows 的 Git 凭证管理器为 Windows 提供安全的Git凭证存储,最显着的是对 Visual Studio Team Services 和 GitHub 的多因素身份验证支持。 (需要 .NET Framework v4.5.1 或更高版本)。

  选项三,“启用符号链接”。启用符号链接(需要SeCreateSymbolicLink权限)。请注意,现有存储库不受此设置的影响。

  13. 配置实验选项,默认不勾选即可,点击 Next;

  14. 等待安装完成。

  15. 启动测试,开始菜单中看到 Git 的三个启动图标(Git Bash、Git CMD(Deprecated)、Git GUI):Git Bash,是 Git 配套的一个控制台;Git CMD(Deprecated),是通过 CMD 使用 Git(不推荐使用);Git GUI,是 Git 的可视化操作工具。

4. 安装 vcpkg

  这里只概述 vcpkg 的获取、编译、和 Visual Studio 集成,如需更多了解,请访问:vcpkg:跨平台 C++ 包管理器的安装教程 - hik_wxy - 博客园 (cnblogs.com)

  4.1  获取源码

  防止遇到路径问题,存放目录不包含中文。如:D:\src\vcpkg。启动 Git Bash 控制台,进入存放目录,输入:

  > git clone https://github.com/microsoft/vcpkg

  注意:git clone速度太慢是因为 github.global.ssl.fastly.net 域名被限制了,我们只需使用 github 的镜像网站进行访问,将地址中的 github.com 替换为 github.com.cnpmjs.org,即:

  > git clone https://github.com.cnpmjs.org/microsoft/vcpkg

  4.2  编译源码

   命令行执行 vcpkg 工程目录下的 “bootstrap-vcpkg.bat” 命令,即可编译。编译好以后会在同级目录下生成 vcpkg.exe 文件。

  注意:vcpkg 大量使用的 psl 脚本,所以官方强烈推荐使用 PowerShell 而不是 cmd 命令行来执行各种操作。尽管在使用的时候兼容 cmd,但是在编译这一步,请尽量使用 PowerShell,工具位于  \vcpkg\downloads\tools 路径下。

  > .\vcpkg\bootstrap-vcpkg.bat

  4.3  集成 Visual Studio

  接下来我们将 vcpkg 和 Visual Studio 进行集成。

  常规情况下,我们编译或安装一些第三方库后,需要手动设置 include 目录、lib 目录、环境变量等,会有很多工作量。vcpkg 提供了一套机制,可以全自动的适配目录,而开发者不需要关心已安装的库的目录在哪里,也不需要设置。这是vcpkg的一大优势。

  集成指令:

  > vcpkg integrate install

 5. 安装OSG/OSGEarth

  如果您是标准化团队,可参考 5.1 让一位成员使用 vcpkg 下载源码并编译,然后参考 5.2 导出库文件,即可轻松地将它与其他团队成员共享。

  5.1  安装依赖项

  我们以 64bit-Windows build 为例,安装必要依赖项:

  > vcpkg install osg:x64-windows gdal:x64-windows curl:x64-windows

  如需完整功能,也可以安装可选依赖项:

  > vcpkg install sqlite3:x64-windows protobuf:x64-windows geos:x64-windows blend2d:x64-windows webp:x64-windows basisu:x64-windows draco:x64-windows libzip:x64-windows
  • vcpkg 会自动检测依赖关系,并将依赖关系自动下载编译;
  • 第一次运行将需要很长一段时间,因为会下载很多压缩包,解压编译;
  • 依赖的开源库源码一般由 github 提供,因此可能下载极度缓慢甚至失败。可通过加速器执行以上指令 ;或者参考 4.1 利用镜像网站手动下载失败的资源,将压缩包放到 vcpkg\download目录下,再重新执 行以上指令。

  5.2  导出/导入已安装库

  如果您已安装好依赖项,那么您可以导出这些已安装库,分享给团队其他成员。我们以 5.1 中必要依赖项为例:

  > vcpkg export osg:x64-windows gdal:x64-windows curl:x64-windows --7zip
  • 默认导出 x86-windows 版本库,如需导出其他版本,需指定。
  • 默认导出 vcpkg 目录下,默认导出包名称 vcpkg-export-日期-时间,如需指定目录和名称,使用 “-output=” 参数。
  • 导出必须指定包格式:--raw:目录格式;--nuget:nuget格式;--zip:zip格式;--7zip:7z格式;--ifw:我也不知道。

  团队其他成员可将共享使用这些导出库:

  > vcpkg import xxx.7z

  5.3  vcpkg 自动安装 OSGEarth

  如果您需要生成 OSGEarth 的 Visual Studio 解决方案,来进行手动编译,您可以直接浏览 5.4。

  您同样可以使用 vcpkg 直接自动安装 OSGEarth:

  > vcpkg install osgearth:x64-windows
  • 如果弹出提示:是否重新构建几个你已经安装过的依赖项,那么在上面指令后面加 --recurse;
  • 本次运行同样需要很长一段时间,也会下载缓慢甚至失败,参照 5.1 解决;
  • 如果“raw.githubusercontent.com”手动下载同样无法链接,可以通过修改Hosts临时解决:1. 通过 IPAddress.com 首页,输入 raw.githubusercontent.com 查询到了真实IP地址 199.232.28.133;2. 找到 C:\Windows\System32\drivers\etc 的 hosts 文件,添加以下内容并保存:199.232.28.133 raw.githubusercontent.com;3. 重新执行以上指令。

  5.4  Visual Studio 手动编译 OSGEarth

  vcpkg 提供了一套 CMake 工具链文件,帮助 OSGEarth 找到它的所有依赖项,并生成 Visual Studio 解决方案。

  5.4.1  获取源码

  防止遇到路径问题,存放目录不包含中文。如:D:\src\OSGEarth。启动 Git Bash 控制台,进入存放目录,输入:

  > git clone https://github.com/gwaldron/osgearth.git

  为接下来生成 Visual Studio 解决方案创建子目录:

  > mkdir buildRelease
  > mkdir buildDebug

  注意:这里为发布版和调试版指定不同的生成目录,并在接下来使用 -DCMAKE_BUILD_TYPE 指定生成类型,这是因为 OSGEarth 的某些依赖项在不指定构建类型的情况下,不会同时获取调试版本和发布版本。这应该在未来的 CMake 版本中修复。

  5.4.2  配置 CMake

  我们以发布版本为例:

  > cmake -S D:\src\OSGEarth -B D:\src\OSGEarth\buildRelease -G "Visual Studio 15 2017 Win64" -DCMAKE_BUILD_TYPE=Release -DWIN32_USE_MP=ON -DCMAKE_INSTALL_PREFIX=D:\src\OSGEarth\buildRelease -DCMAKE_TOOLCHAIN_FILE=D:\src\vcpkg\scripts\buildsystems\vcpkg.cmake

  5.4.3  构建 Visual Studio 解决方案

  进入 buildRelease 目录,可以看到已经生成了 Visual Studio 解决方案。您可以使用 cmake 在命令行上、或打开 Visual Studio 来编译 OSGEarth。

  > cmake --build . --target INSTALL --config Release

  5.5  配置环境变量

  可将自己手动编译生成的 OSGEarth 相关库和头文件,汇总到 vcpkg 目录下: D:\src\vcpkg\installed\x64-windows 。

  右键此电脑 - 属性 - 高级系统设置 - 环境变量,根据您的具体路径设置,在系统变量 Path 中增加:

    D:\src\vcpkg

    D:\src\vcpkg\installed\x64-windows\bin

    D:\src\vcpkg\installed\x64-windows\tools\osg

    D:\src\vcpkg\installed\x64-windows\debug\tool\osg

    D:\src\OSGEarth\buildRelease\lib\Release

    D:\src\OSGEarth\buildDebug\lib\Debug

 

 

  参考链接:https://www.cnblogs.com/xueweisuoyong/archive/2019/11/22/11914045.html

       https://blog.csdn.net/m0_37251750/article/details/105827222


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM