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问题很多很多
上一篇: 实现直线的生成算法
下一篇: bmp的24bit位宽转16bit
推荐阅读
-
解析libcurl在android下的移植、编译与测试
-
Linux下VIM编译器的使用以及shell编程基础
-
CentOS下编译安装nginx及配置缩略图插件的方法教程
-
Centos7下编译安装配置Nginx+PHP+MySql环境
-
MacOS配置Anaconda3(Miniconda3)下Python3.6、Python3.7和Python2.7环境和基础机器学习、神经网络相关包详解(版本号对应)
-
CentOS下编译安装python包管理安装工具pip教程
-
CentOS7环境下免编译二进制包安装MySQL5.6教程
-
CentOS下编译、安装与配置nginx
-
MacOS下mysql 8.0.18 安装配置方法图文教程
-
linux下安装编译网卡驱动的方法