谨记:配完环境变量后最好重启一下电脑再测试,否则可能发生运行找不到dll报错的问题。

 

cmake

3.15.6:https://cmake.org/files/v3.15/cmake-3.15.6-win64-x64.msi

【until:2019】【启用】

 

OpenSceneGraph-3.6.4稳定版本osg下载

源码:

二进制库:

Windows Binaries provided by OBJEXX Engineering

第三方库:

Dependencies (openscenegraph.org)

数据资源:

可以通过如下命令来运行OSG例子(现在很多人已经不这么搞了,直接看哪个例子直接敲—FreeSouth注):

cd OpenSceneGraph
runexamples.bat
[选项-构建和运行-cmake标签设置路径cmake3.1]  需前提是要安装cmake,并且在qt中配置cmake
  1. 通过qt打开工程,选择cmakelist.txt,qt会自动用cmake解析该文件

  2. 然后设置相应的变量值,点击下方的apply configration changes按钮保存

  3. 这样qt中就会出现一个openscenegraph项目

  4. 在项目上右键选择cmake对项目进行配置,然后再右键build就可以构建cmake工程了。

  1. 也可以自定构建其中的某些子项目

 

 

编译OSG:

cmake设置源码和build路径,用configure、generate:CMAKE_INSTALL_PREFIX:第三方库的路径

vs2017改为release、64,先ALL_BUILD后INSTALL:build路径生成bin、include、lib

 

 

 

 

 

 

 

 

 

配置环境变量:

  OSG_FILE_PATH:设置data路径

  Path:添加C:\Program Files (x86)\OpenSceneGraph\bin路径

cmd测试:bin>osgviewer data/cow.osg

  • C:\Program Files (x86)\OpenSceneGraph\bin>osgviewer.exe H:\wangziyi\OPEN\OSG\data\cow.osg

 

VS2017测试:配置好include、lib、,运行源码:

 

 

 

 编译osgEarth

第三方库:

curl-7.61.0

cmake:设置CMAKE_INSTALL_PREFIX=curl源码路径,configure、generate出curl.sln;

VS2017:先改为release64,后生成-批生成ALL_BUILD、INSTALL

 

 

 

 

 

 

 

 

GEOS-3.5.1

cmake:设置CMAKE_INSTALL_PREFIX=geos源码路径【本次默认:C:/Program Files (x86)/GEOS】

打开链接:trunk/cmake 中的 modules – GEOS (osgeo.org)

 下载:trunk/cmake/modules 中的 GenerateSourceGroups.cmake – GEOS (osgeo.org)

将.cmake文件放到cmake/share/Moudles文件下,再configure、generate出curl.sln;

我的Moudles路径:D:\SoftWare\CMake3156\share\cmake-3.15\Modules

VS2017:先改为release64,后生成-批生成ALL_BUILD、INSTALL

 

 

 

GDAL-2.4.0

下载:http://download.osgeo.org/gdal/2.4.0/gdal240.zip

配置nmake.opt:

  GDAL_HOME=”C:\warmerda\bld”    //存储编译出的头文件、静态库、动态库

  #WIN64=YES             //编译64位的GDAL删除#

  ODBC_SUPPORTED = 1        //注释掉?

编译:(管理员)VS2017x64本机命令工具,进入源码目录:

  nmake -f makefile.vc          //编译GDAL  //如要debug版本运行:nmake -f makefile.vc DEBUG=1

  nmake /f makefile.vc install       //将生成的头文件、静态库、动态库复制到GDAL_HOME

  nmake /f makefile.vc devinstall      //同上

 

 

 

错误信息如下:
正在创建库 gdal_i.lib 和对象 gdal_i.exp
LINK : error LNK2001: 无法解析的外部符号 _OSRValidate
LINK : error LNK2001: 无法解析的外部符号 _OPTGetProjectionMethods
LINK : error LNK2001: 无法解析的外部符号 _OGR_G_GetPointCount
LINK : error LNK2001: 无法解析的外部符号 _OGRRegisterAll
LINK : error LNK2001: 无法解析的外部符号 _GDALSimpleImageWarp@36
LINK : error LNK2001: 无法解析的外部符号 _GDALReprojectImage@48
LINK : error LNK2001: 无法解析的外部符号 _GDALComputeMedianCutPCT@32
LINK : error LNK2001: 无法解析的外部符号 _GDALDitherRGB2PCT@28
LINK : error LNK2001: 无法解析的外部符号 _OCTNewCoordinateTransformation@8
gdal204.dll : fatal error LNK1120: 9 个无法解析的外部命令
NMAKE : fatal error U1077: ““C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.EXE””: 返回代码“0x460”
Stop.
解决方案一【不顶用】:


在工具命令提示符中输入如下命令(指定了编译器和操作系统后上述问题解决):
nmake /f makefile.vc MSVC_VER=1916 WIN64=YES
nmake /f makefile.vc MSVC_VER=1916 WIN64=YES install
nmake /f makefile.vc MSVC_VER=1916 WIN64=YES devinstall
============================MSVC_VER======================
MSVC++ -> 6.0 MSVC_VER -> 1200 Visual Studio 6.0 -> 6.0
MSVC++ -> 8.0 MSVC_VER -> 1400 Visual Studio 2005 -> 8.0
MSVC++ -> 9.0 MSVC_VER -> 1500 Visual Studio 2008 -> 9.0
MSVC++ -> 10.0 MSVC_VER -> 1600 Visual Studio 2010 -> 10.0
MSVC++ -> 11.0 MSVC_VER -> 1700 Visual Studio 2012 -> 11.0
MSVC++ -> 12.0 MSVC_VER -> 1800 Visual Studio 2013 -> 12.0
MSVC++ -> 14.0 MSVC_VER -> 1900 Visual Studio 2015 -> 14.0
MSVC++ -> 14.1 MSVC_VER -> 1910 Visual Studio 2017 -> 15.0
MSVC++ -> 14.11 MSVC_VER -> 1911 Visual Studio 2017 -> 15.3
MSVC++ -> 14.12 MSVC_VER -> 1912 Visual Studio 2017 -> 15.5
MSVC++ -> 14.13 MSVC_VER -> 1913 Visual Studio 2017 -> 15.6
MSVC++ -> 14.14 MSVC_VER -> 1914 Visual Studio 2017 -> 15.7
MSVC++ -> 14.15 MSVC_VER -> 1915 Visual Studio 2017 -> 15.8
MSVC++ -> 14.16 MSVC_VER -> 1916 Visual Studio 2017 -> 15.9
MSVC++ -> 14.2 MSVC_VER -> 1920 Visual Studio 2019 -> 16.0
MSVC++ -> 14.21 MSVC_VER -> 1921 Visual Studio 2019 -> 16.1
MSVC++ -> 14.22 MSVC_VER -> 1922 Visual Studio 2019 -> 16.2
 解决方案二【此问题解决,暴露新问题,请继续看^0^】:
方法二:

在GDAL目录下的nmake.opt文件中,找到SYM_PREFIX的定义,应该在438行左右

将SYM_PREFIX=_ 改为SYM_PREFIX= ,就是将最后的下划线去掉



在GDAL目录下的makefile.vc文件中,找到46行左右的代码,如下:

BASE_INCLUDE = /INCLUDE:_GDALSimpleImageWarp@36 /

/INCLUDE:_GDALReprojectImage@48 /

/INCLUDE:_GDALComputeMedianCutPCT@32 /

/INCLUDE:_GDALDitherRGB2PCT@28 /

/INCLUDE:_OCTNewCoordinateTransformation@8 $(VB6_SAFEARRAYSYM)

就是将后面的@开始,后面的数字删除。

BASE_INCLUDE = /INCLUDE:$(SYM_PREFIX)GDALSimpleImageWarp /

/INCLUDE:$(SYM_PREFIX)GDALReprojectImage /

/INCLUDE:$(SYM_PREFIX)GDALComputeMedianCutPCT /

/INCLUDE:$(SYM_PREFIX)GDALDitherRGB2PCT /

/INCLUDE:$(SYM_PREFIX)OCTNewCoordinateTransformation $(VB6_SAFEARRAYSYM)

在工具命令提示符中输入如下命令(指定了编译器和操作系统后上述问题解决):
nmake /f makefile.vc MSVC_VER=1916 WIN64=YES
nmake /f makefile.vc MSVC_VER=1916 WIN64=YES install
nmake /f makefile.vc MSVC_VER=1900 WIN64=YES devinstall
新问题:
正在创建库 gdal_i.lib 和对象 gdal_i.exp
ogrsf_frmts.lib(ogrregisterall.obj) : error LNK2019: 无法解析的外部符号 RegisterOGRNGW,该符号在函数 OGRRegisterAllInternal 中被引用
gdal204.dll : fatal error LNK1120: 1 个无法解析的外部命令
NMAKE : fatal error U1077: “"D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\link.EXE"”: 返回代码“0x460”
Stop.
解决方案【成功】

《参考:用于NextGIS网络|的新GDAL/OGR下一个地理信息系统

《参考:无法使用 Visual Studio 2015 构建 GDAL 2.4.0 x64 ·问题 #1251 ·OSGeo/gdal ·GitHub

工具:notepad++点击菜单中的“插件”》》“compare”》》“compare”的选项。

我替换了目录 gdal-2.4.0\ogr\ogrsf_frmts\generic 中的文件 makefile.vc【替换成gdal2.4.1的同名文件】

 

nmake /f makefile.vc MSVC_VER=1916 WIN64=YES编译成功:

继续执行

nmake /f makefile.vc MSVC_VER=1916 WIN64=YES
nmake /f makefile.vc MSVC_VER=1916 WIN64=YES install
nmake /f makefile.vc MSVC_VER=1900 WIN64=YES devinstall

libzip

下载:https://libzip.org/download/libzip-1.9.2.tar.gz

 

 

 

 

 

原文地址:http://www.cnblogs.com/jsbs/p/16877508.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性