Proj5.0在Window上的编译(VS2015)

1. 环境

操作系统:win10

开发平台:vs2015

Proj4版本:PROJ-5.0

cmake版本:3.17.20200511-g8787079

2. 编译和安装

1.下载并解压

在d盘中新建PROJ文件夹将下载好的PROJ-5.0.zip解压到PROJ目录并新建Proj4_build和Proj4_install两个目录.目录结构如下:

d:
├─PROJ
    ├─Proj4_build
    └─Proj4_install
    └─PROJ-5.0
        └─源代码文件

2.在PROJ-5.0目录中新建一个名为build.bat文件。用于执行camke命令行构建Visual Studio 工程

@echo off
REM 定义源代码路径路径变量 
set src_dir="%cd%"
echo %src_dir%
REM 定义构建VisualStudio工程目录变量 
set build_dir="%cd%/../Proj4_build"
REM 定义安装目录变量 
set install_dir="%cd%/../Proj4_install"
REM 创建VisualStudio工程目录
mkdir %build_dir%
REM 创建安装目录
mkdir %install_dir%
REM 定义cmake安装编译的类型
set CMAKE_BUILD_TYPE=Releasese
REM 定义是否生成dll
set BUILD_LIBPROJ_SHARED=ON
REM 定义cmake安装目录
set CMAKE_INSTALL_PREFIX=%install_dir%
REM 回到构建VisualStudio工程目录
cd %build_dir%
REM 调用camke命令行参数
cmake -G "Visual Studio 14 2015" -A x64   -S %src_dir%  -B %build_dir% -DBUILD_LIBPROJ_SHARED=%BUILD_LIBPROJ_SHARED%     -DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE%  -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX%                              
pause

注意点:一定要设置-DBUILD_LIBPROJ_SHARED 为ON 否则不会生成dll

最终文件目录如下:

d:
├─PROJ
    ├─Proj4_build
    └─Proj4_install
    └─PROJ-5.0
        └─源代码文件      
        └─build.bat

3.编译项目

打开Proj4_build目中PROJ4.sln生成解决方案(这里编译Realse x64版本)
在编译时可能会报错error C2220: 警告被视为错误 - 没有生成“object”文件,可以点击链接解决问题

4.安装项目

在PROJ4.sln中选中INSTALL项目右键生成安装文件会自动生成到Proj4_Install目录中目录如下

└─Proj4_install
    └─bin
        └─cs2cs.exe
        └─proj.exe
        └─projinfo.exe
        └─...
   └─include
        └─geodesic.h
        └─proj.h
        └─proj_api.h
        └─....
   └─lib
      └─proj.lib
   └─share
       └─...

本文参考《Proj6.3在Window上的编译(VS2015)》。由于Proj5.0不需要编译Sqlite3作为依赖环境比编译Proj6.3要简单些

疑问:如何设置让生成的dll不带版本号,列如本方法中会生成dll为 proj_5_0.dll

posted @ 2020-09-13 18:44  焦涛  阅读(604)  评论(0编辑  收藏  举报