Linux 和 Windows 上编译 proj.4 库
Posted 车斗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 和 Windows 上编译 proj.4 库相关的知识,希望对你有一定的参考价值。
Linux 和 Windows 上编译 proj.4 库
在 centos7,win10 上测试成功
PROJ
PROJ is a generic coordinate transformation software that transforms geospatial coordinates from one coordinate reference system (CRS) to another. This includes cartographic projections as well as geodetic transformations. PROJ is released under the X/MIT open source license.
PROJ includes command line applications for easy conversion of coordinates from text files or directly from user input. In addition to the command line utilities PROJ also exposes an application programming interface, or API in short. The API lets developers use the functionality of PROJ in their own software without having to implement similar functionality themselves.
在Linux上编译
proj 依赖以下软件:
- gcc/g++, cmake(我并未使用这个构建)
- sqlite3 3.11以上
- libtiff-4.0 以上
下面的 ‘/usr/local’ 可以替换成任何用户机器上的目录。
安装 sqlite3
$ wget https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
$ tar -xf sqlite-autoconf-3360000.tar.gz
$ cd sqlite-autoconf-3360000/
$ ./configure --prefix=/usr/local
$ make && make install
安装 libtiff-4
$ wget http://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz
$ tar -xf tiff-4.3.0.tar.gz
$ cd tiff-4.3.0/
$ ./configure --prefix=/usr/local
$ make && make install
安装 proj
$ wget https://download.osgeo.org/proj/proj-8.1.0.tar.gz
$ tar -xf proj-8.1.0.tar.gz
$ cd proj-8.1.0/
$ ./configure SQLITE3_CFLAGS="-I/usr/local/include" SQLITE3_LIBS="-L/usr/local/lib -lsqlite3" TIFF_CFLAGS="-I/usr/local/include" TIFF_LIBS="-L/usr/local/lib -ltiff" --without-curl --prefix=/usr/local
$ make -j 8
$ make install
在Windows上编译
需要安装 msys2 msys2-x86_64-20210604.exe ,安装完之后(我的安装位置C:\\DEVPACK\\msys64)打开 msys2 命令行终端C:\\DEVPACK\\msys64\\msys2.exe 更软件包:
$ pacman -Syu
$ pacman -Su
$ pacman -S --needed base-devel mingw-w64-x86_64-toolchain
$ pacman -S zip
$ pacman -S git
然后,打开 C:\\DEVPACK\\msys64\\mingw64.exe (切记不是 msys2.exe !),进入 /mingw64 命令行工具。它会自动把 ‘/usr/local’ 目录映射为 ‘mingw64/’,然后同上面的安装方法。注意,这里仍然使用Linux风格的安装路径:/usr/local (=**C:\\DEVPACK\\msys64\\mingw64**)
然后运行安装的过程和 Linux 上完全相同。
以上是关于Linux 和 Windows 上编译 proj.4 库的主要内容,如果未能解决你的问题,请参考以下文章
C++/LapackE 代码在 Windows 上编译良好,但相同的代码在 Linux 上编译失败
VRPN C++ 代码可在 Linux 上编译,但不能在 Windows 上编译