zoukankan      html  css  js  c++  java
  • win10下使用VS2019编译gdal3

    1.准备
    sqlite3:sqlite3编译
    proj6:proj6编译

    2.源码下载
    https://github.com/OSGeo/GDAL

    3.编辑nmake.opt
    解压源码包后,打开nmake.opt文件,需要修改几个位置:
    1).42行附近
    !IFNDEF MSVC_VER
    #assume msvc VS2015.
    MSVC_VER=1920 #设置编译器
    !ENDIF

    2).66行附近
    !IFNDEF GDAL_HOME
    GDAL_HOME = "D:warmerdald" #设置目标位置
    !ENDIF

    3).128行附近
    # Set DEBUG=1 to create a debug build
    !IFNDEF DEBUG
    DEBUG=1 #设置debug标志,这个可以在编译时参数中再指定
    !IFNDEF POSTFIX
    POSTFIX=
    !ENDIF
    !ENDIF

    4).136行附近
    # Force PDB output for DEBUG mode
    !IF "$(DEBUG)" == "1"
    WITH_PDB=1 #pdb文件生成
    !IFNDEF POSTFIX
    POSTFIX=_d
    !ENDIF
    !ELSE IF "$(DEBUG)" != "0"
    !ERROR DEBUG should be set to 0 or 1
    !ENDIF

    5).156行附近
    设置编译选项,一般根据需要设置即可,我采用的静态编译,运行库选择/MT
    !IFNDEF OPTFLAGS
    !IF "$(DEBUG)" == "0"
    OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) /MD /EHsc /Ox /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG
    !ELSE
    OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) /MT /EHsc /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG
    !ENDIF
    !ENDIF # OPTFLAGS

    6).210行附近
    # Uncomment the following if you are building for 64-bit windows
    # (x64). You'll need to have PATH, INCLUDE and LIB set up for 64-bit
    # compiles.
    WIN64=YES #是否使用64位方式,可在编译时设置
    # Capture WIN64=1 if specified in NMAKE command line
    !IFDEF WIN64
    WIN64=YES
    !ENDIF

    7).238行附近
    # Set DLLBUILD=0 to create a static lib instead of a shared lib (.DLL)
    !IFNDEF DLLBUILD
    DLLBUILD=0 #我采用的静态编译,未使用dll,更据需要设置
    !ENDIF

    8).259行附近
    Proj库的设置
    # PROJ stuff (required dependency: PROJ >= 6)
    PROJ_INCLUDE = -IC:OSGeo4Winclude
    # Note: add shell32.lib is needed starting with PROJ 7.0 in some circumstances
    # for static linking. See https://github.com/OSGeo/gdal/issues/2488
    # And ole32.lib also since PROJ 7.1 (see https://github.com/OSGeo/gdal/issues/2743)
    PROJ_LIBRARY = C:OSGeo4Wlibproj_6_3_d.lib shell32.lib ole32.lib

    9).649行附近
    sqlite库的设置
    # SQLite Libraries
    SQLITE_INC=-ID:sqliteSQLiteSQLite3SQLite3
    SQLITE_LIB=D:sqliteSQLiteSQLite3x64DebugSQLite3d.lib

    其他选项可以根据需要设置。

    4.编译
    打开vs2019的X64 Native Tools Command Prompt,cd到源码目录下,执行:
    nmake -f makefile.vc
    或者,如果一些选项未设置,可以在此时设置:
    nmake -f makefile.vc MSVC_VER=1920 WIN64=1 DEBUG=1 ANALYZE=1 WITH_PDB=1
    完成后执行安装命令,安装到设置的目录中:
    nmake -f makefile.vs devinstall
    补充一个nmake的清理命令:
    nmake -f makefile.vs clean

  • 相关阅读:
    Tomcat基于MSM+Memcached实现Session共享
    Zabbix简介及安装
    redis简介
    Ansible详解(二)
    Ansible详解(一)
    WAMP3.1.10/Apache 设置站点根目录
    最长回文子串--轻松理解Manacher算法
    一篇文章彻底了解Java垃圾收集(GC)机制
    java内存模型详解
    Java中23种设计模式--超快速入门及举例代码
  • 原文地址:https://www.cnblogs.com/nuoforever/p/14848392.html
Copyright © 2011-2022 走看看