gdal哪个版本和vs2015编译gdal

& & & & 使用VS2015编译64位的GDAL时容易遇到一些问题,特总结如下。
& & & & 1.下载gdal-2.0.3(也可以下载其他版本),并解压
& & & & &解压后的文件中应该有一个nmake.opt文件,在编译之前需要修改nmake.opt中的一些配置。
& & & &(a).可以先在nmake.opt文件中看下该GDAL版本是否支持VS2015。
& & & & (b).GDAL_HOME
= &C:\warmerda\bld&,大约在62行,编译后的生成的头文件、静态库、动态库将会存储到这个路径,可以修改。
& & & &(c).&#WIN64=YES&,大约在172行,编译64位GDAL时,要删除前面的#。
& & & &2.编译
& & & &(a).打开VS2015命令行,开始菜单-&所有程序,找到VS2015,我选择的是VS2015
×64 本机工具命令提示符 & & & & & & &
& & & &(b).打开到GDAL解压文件所在的目录(有makefile.vc的目录),我直接在D盘解压了,所以如下图所示
& & & & & &&
& & & & &(c).依次输入下面的命令
nmake -f makefile.vc
nmake /f makefile.vc install
nmake /f makefile.vc devinstal
& & & & & 第一个命令是编译GDAL,第二个、第三个命令是将生成的头文件、静态库、动态库存储到GDAL_HOME目录。
& & & & & 每个命令输入后需要等几分钟。
& & & & & **运行完第一个命令后可能会遇到这样的问题(网上截的图,但问题是一样的):
Creating library gdal_i.lib and object gdal_i.exp
odbccp32.lib(dllload.obj) : error LNK2019: unresolved external symbol _vsnwprintf_s referenced in function StringCchPrintfW
gdal201.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '&C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.EXE&' : return code '0x460'
解决方法是把nmake.opt文件中的,大约在220行
# Comment out the following to disable ODBC support.
ODBC_SUPPORTED = 1
& & 替换成
# Comment out the following to disable ODBC support.
# ODBC_SUPPORTED = 1
& &就是把ODBC支持注释掉。
& & & &3.编译成功后在VS2015中配置& & & &(a).打开解决方案资源管理器中项目的属性界面
& & & (b).添加C:\warmerda\bld\include文件,在“VC++”目录中的“包含目录”中添加include文件,“库目录”中添加lib文件,如下图所示:
& & & (c).在“链接器”-&“输入”的“附加依赖项”中键入gdal_i.lib
新建控制台程序,输入下面的代码,运行成功,配置完成。
#include &stdafx.h&
#include &gdal_priv.h&
#include&iostream&
int main()
GDALAllRegister();
const char* img = &test.jpg&;
//在项目文件夹下储存一张影像
GDALDataset *poDataset = (GDALDataset*)GDALOpen(img, GA_ReadOnly);
if (poDataset == nullptr)
cout && &测试失败& &&
出现的问题:
(a).出现下面错误
& & & 配置错误,需要在 ×64下重新配置。
& & & (b).缺少dll文件,将C:\warmerda\bld\bin
中的 gdal200.dll 复制到项目下的exe类型的文件目录中。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:889次
排名:千里之外2281人阅读
32位编译主要参考/win7-vs2010-gdal.html
64位编译参考/kf/944.html以及官网http://trac.osgeo.org/gdal/wiki/BuildingOnWindows
---------------------------------------------------------------------------------------------------------------------------------------------
Step1. 在官网(http://trac.osgeo.org/gdal/wiki/DownloadSource)下载zip版的gdal-1.10.1,不确定最新版的gdal-1.11.0是不是稳定,怕遇到问题了都没人可问,所以没有下载;Step2. 将下载的gdal解压到D盘(D:\gdal-1.10.1);Step3. 在开始菜单里面输入cmd,在搜索结果右击“cmd.exe”,以管理员身份运行;
Step4.由于我的VS装在D盘,所以要首先在cmd界面进入到D盘,输入”D:”,回车;
Step5.进入到VS的bin文件夹,在cmd界面输入cd &” D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin”,回车;Step6. 输入”vcvars32.bat”,回车。这个部分如果电脑的环境变量没设好,是一个比较折腾人的过程。我的就出现了这个问题,老是出现” Cannot determine the location of the VS Common Tools folder”,我没有按照网上很多人的说法去修改vcvars32.bat里面的内容,主要是加了两个环境变量“C:\windows\Microsoft.NET\Framework\v4.0.30319”和“C:\Windows\System32”,然后在运行里面输入”
gpedit.msc”,然后在“用户配置”-“管理模板”-“系统”-“阻止访问注册表编辑工具”-“策略设置”里面选择“已禁用”,再运行vcvars32.bat的时候会成功,但是我的没有提示注册环境变量成功,而是过了一段时间依然跳出原来输入的目录路径,不过无所谓,没跳出错误提示应该就是成功了,而且通过后面的步骤,可以验证注册环境变量确已成功;
Step7. 在cmd中切换目录到D:\gdal-1.10.1,然后输入” nmake /f makefile.vc&“进行编译;Step8. 设置输出目录。在D:\gdal-1.10.1目录中找到nmake.opt,用记事本打开,设置自己的保存目录,我的设置为GDAL_HOME = & D:\gdal\32bit&;Step9. 回到CMD界面,切换到解压目录下,执行如下两条命令:
nmake /f makefile.vc install
nmake /f makefile.vc devinstall
64位的编译跟32位差不多,不过需要将
Step5修改为:cd &” D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC”;Step6.修改为输入” vcvarsall.bat &amd64”Step7 修改为输入” nmake -f makefile.vc WIN64=TRUE”Step8修改为GDAL_HOME = & D:\gdal\64bit&;Step9修改为
nmake /f makefile.vc WIN64=TRUE install
nmake /f makefile.vc WIN64=TRUE &devinstall
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:7523次
排名:千里之外1341人阅读
说实话,gdal在windows上的编译真的让人头疼,它有各种版本的问题,以前用vs2010编译过一次,这次又一次搞了好久。。。。因此记录以来,常见的错误点。
1. 下载gdal-2.03并解压
其他版本的应该也可以,这里可以看一下nmake.opt文件中是否支持vs2015
b. 打开nmake.opt文件,将WIN64=YES前的#去掉
2. 打开 vs2015 命令行,这里选择的是x64 x86兼容的那一个
a.打开到自己安装的gdal目录
b.分别输入下面的命令
nmake -f makefile.vc
nmake -f makefile.vc install
nmake -f devinstall
这个地方是非常容易出错的,往往令人头疼的。
a. 打开VS选择空项目,控制台应用程序
b. 打开属性界面,添加C:\warmerda\bld\include文件,如下图所示,在C/C++常规中添加附加包含目录, 也就是上面编译出来的文件,默认在c:/warmerda中.
c. 在连接器的常规中添加附加库目录C:\warmerda\bld\lib
d. 同样l链接器的输入项目在附加依赖项中添加gdal_i.lib
完成后添加如下代码测试:
#include "gdal_priv.h"
#include&iostream&
using namespace std;
int main()
GDALAllRegister();
const char* pszFile = "cute.jpg";
GDALDataset *poDataset = (GDALDataset*)GDALOpen(pszFile, GA_ReadOnly);
if (poDataset == nullptr)
cout && "can not open file" &&
cout && poDataset-&GetRasterXSize() && "," && poDataset-&GetRasterYSize() &&
system("pause");
注意事项:
将vs模式改为Debug版本64位。
如果说缺少dll文件,其在C:\warmerda\bld\bin将其复制到项目下的exe类型的文件目录中。
运行,如果不出错,则完成配置。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:127672次
积分:3340
积分:3340
排名:第9347名
原创:206篇
评论:39条
(2)(3)(6)(5)(7)(5)(15)(11)(15)(42)(56)(46)(4)Reported by:
Milestone:
Component:
Show comments
Show property changes
Change History (1)
Milestone:
Resolution:
for help on using
Download in other formats:2283人阅读
32位编译主要参考/win7-vs2010-gdal.html
64位编译参考/kf/944.html以及官网http://trac.osgeo.org/gdal/wiki/BuildingOnWindows
---------------------------------------------------------------------------------------------------------------------------------------------
Step1. 在官网(http://trac.osgeo.org/gdal/wiki/DownloadSource)下载zip版的gdal-1.10.1,不确定最新版的gdal-1.11.0是不是稳定,怕遇到问题了都没人可问,所以没有下载;Step2. 将下载的gdal解压到D盘(D:\gdal-1.10.1);Step3. 在开始菜单里面输入cmd,在搜索结果右击“cmd.exe”,以管理员身份运行;
Step4.由于我的VS装在D盘,所以要首先在cmd界面进入到D盘,输入”D:”,回车;
Step5.进入到VS的bin文件夹,在cmd界面输入cd &” D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin”,回车;Step6. 输入”vcvars32.bat”,回车。这个部分如果电脑的环境变量没设好,是一个比较折腾人的过程。我的就出现了这个问题,老是出现” Cannot determine the location of the VS Common Tools folder”,我没有按照网上很多人的说法去修改vcvars32.bat里面的内容,主要是加了两个环境变量“C:\windows\Microsoft.NET\Framework\v4.0.30319”和“C:\Windows\System32”,然后在运行里面输入”
gpedit.msc”,然后在“用户配置”-“管理模板”-“系统”-“阻止访问注册表编辑工具”-“策略设置”里面选择“已禁用”,再运行vcvars32.bat的时候会成功,但是我的没有提示注册环境变量成功,而是过了一段时间依然跳出原来输入的目录路径,不过无所谓,没跳出错误提示应该就是成功了,而且通过后面的步骤,可以验证注册环境变量确已成功;
Step7. 在cmd中切换目录到D:\gdal-1.10.1,然后输入” nmake /f makefile.vc&“进行编译;Step8. 设置输出目录。在D:\gdal-1.10.1目录中找到nmake.opt,用记事本打开,设置自己的保存目录,我的设置为GDAL_HOME = & D:\gdal\32bit&;Step9. 回到CMD界面,切换到解压目录下,执行如下两条命令:
nmake /f makefile.vc install
nmake /f makefile.vc devinstall
64位的编译跟32位差不多,不过需要将
Step5修改为:cd &” D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC”;Step6.修改为输入” vcvarsall.bat &amd64”Step7 修改为输入” nmake -f makefile.vc WIN64=TRUE”Step8修改为GDAL_HOME = & D:\gdal\64bit&;Step9修改为
nmake /f makefile.vc WIN64=TRUE install
nmake /f makefile.vc WIN64=TRUE &devinstall
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:7525次
排名:千里之外

我要回帖

更多关于 gdal vs2015 编译64位 的文章

 

随机推荐