MacOS下编译osgEarth

MacOS下编译osgEarth

一: 所需工具

  • XCode(12.5.1,实际不需要那么高的版本, 只是我比较喜欢一直更新软件)

  • CMake-gui(我用的是3.8.2)

  • HomeBrew(MaxOS下的命令行包下载工具, 非常好用)

二:编译流程

  • 默认OSG环境已经准备完成, 也可以直接通过HomeBrew安装, 命令为 “ brew install open-scene-graph”

  • 下载好所需要的工具以及osgearth源码(我编译的是3.2.0版本)

  • 用homebrew安装所需要的依赖包括gdal curl zlib 等

  • 用文本编辑器打开osgEarth源码目录下的CMakeFileLists.txt文件, 在第一行

    CMAKE_MINIMUM_REQUIRED(VERSION 3.1 FATAL_ERROR)

    下面添加如下内容

    set(CMAKE_C_COMPILER "gcc")
    set(CMAKE_CXX_COMPILER "g++")
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall") 
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall")
    set(CMAKE_CXX_STANDARD 11)  # 设置 c++ 语言标准
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
    
  • 打开cmake-gui将CMakeFileLists.txt拖入其中, 默认生成源码目录和构建输出目录, 一般在源码目录下创建一个build文件夹作为构建输出目录

  • 点击Configure, 选择弹出的窗口中选择Xcode, 多次点击Configure并检查输出, 直到出现“Configuring done”后,点击Generate,随后“Open Project”.

  • 在Xcode软件中点击 File->Project Settings->Shared Project Settings->Build System-> “Legacy Build System (Deptecated)”->Done

  • 点击Product->Scheme, 选择ALL_BUILD

  • 点击Product->Scheme->Edit Schemes…, 根据需要将Build Configuration改为Debug或Release->Close

  • cmd+B开始构建

  • 构建成功后在build/bin和build/lib文件夹中可以看到相应的库和可执行程序, 将其分别拷贝到/usr/local/bin和/usr/local/lib中, 最后在终端输入osgearth_version测试是否成功

问题

  • 编译过程中如果代码报错, 一般是CMakeLists.txt文件没写对, 或者cmake-gui中部分路径配置错了,总之别想着改源码, 我之前就是越改错越多.
  • gdal的编译高版本会涉及到proj的依赖问题, 推荐使用2.x.x版, 用homebrew的话不会有这个问题
  • cmake版本不要过高, 我用3.20.x版本的时候, Congifure问题很多很多
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值