Win7(32/64)VS2010配置编译GDAL环境(图文教程+亲测可用!)

最近的一个VS2010的项目中用到了GDAL,关于GDAL这个库的说明与赞美,这里就不赘述了,下面是在VS2010中配置GDAL的详细过程。

系统说明

Win7(32位/64位),VS2010,GDAL 1.10.1(截止本文发布的最新版),进行下面的操作之前,请确保您已经正确安装了VS2010,步骤如下:

1.下载GDAL

点击进入GDAL的官方下载页面,根据需要选择不同的版本,根据测试之前的GDAL1.9.1 0往后的版本均可以按照本文的方法编译成功。下载完成后解压到一个根目录下,因为这样后面的操作会比较方便,本文所解压的地址为

D:\gdal-1.10.1

如果你解压的地址跟本文不同,可以按照实际情况做出修改。

2.执行VCVARS32.BAT

以管理员身份运行cmd,(您可以在开始菜单搜索cmd,然后右击选择用管理员身份运行,也可以在C:\windows\system32下找到cmd.exe右击选择采用管理员身份运行),如图:

然后在cmd中切换到VS2010的安装目录,例如本文中的是

C:\program files\Microsoft Visual Studio 10.0\VC\bin

执行VCVARS32.BAT,如图:

3.编译GDAL

在cmd中切换目录到

D:\gdal-1.10.1

目录下,运行如下命令

nmake /f makefile.vc

编译过程可能需要几分钟,根据系统的配置而定,如图

4.设置输出目录

找到下载目录中的nmake.opt文件,例如本文的中的文件路径为:

D:\gdal-1.10.1\nmake.opt

用文本编辑器(建议使用现代化文本编辑器例如notepad++)打开修改GDAL_HOME的值为安装目录。本文中使用的目录如下:

GDAL_HOME = "D:\GDAL"

如图:

5.安装GDAL

回到CMD界面,切换到解压目录(本文的是D:\gdal-1.10.1)下,执行如下两条命令:

nmake /f makefile.vc install
nmake /f makefile.vc devinstall

如图所示:

先执行nmake /f makefile.vc install

再执行nmake /f makefile.vc devinstall

等待一段时间之后,GDAL就算真正的编译完成了,这时候打开步骤4中设置的安装目录,需要的东西就在里面了,有bin,data,html,lib,include几个文件夹。如图所示:

安装完成以后需要在VS2010的项目中配置GDAL,具体方法情看:VS2010中项目配置引入GDAL

6.其他方法

Windows下,cmd定位至gdal目录,运行makegdal_gen.bat生成.vcproj,然后打开生成即可;Linux下,terminal定位至gdal目录,运行./configure,然后运行make命令即可,如需安装,运行sudo make install。 来自@hao,也可以测试下。

如您有疑问,可在文末留言,或到QQ群提问。
本站QQ群:291616564 麻辣GIS
微信公众号:malagis,扫描二维码直接关注。

打赏¥1

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

已有 17 条评论

  1. 寻找那天
    1#
    寻找那天  · 2014-04-16 17:04

    谢谢,成功了!

      1. 木丁西
        木丁西  · 2014-04-16 17:07

        嘿嘿,不客气~

      2. hello
        hello  · 2016-09-01 16:10

        你好,编译生成的bin里面的exe为什么会一闪而过呀?

  2. 淡淡的忧桑
    2#
    淡淡的忧桑  · 2014-08-12 11:50

    太感谢了!!!

      1. 木丁西
        木丁西  · 2014-08-18 20:47

        不谢~嘿嘿

  3. che
    3#
    che  · 2014-10-23 09:51

    请问配置好后添加头文件,为什么总是提示无法找到呢?急急急急

  4. CHE
    4#
    CHE  · 2014-10-23 09:53

    请问为什么配置好后添加头文件但总提示找不到呢?急急急

      1. Sailor
        Sailor  · 2014-10-28 21:56

        参考http://malagis.com/vs2010-project-configuration-gdal.html,我这里是可以的

  5. wxc680
    5#
    wxc680  · 2015-04-17 23:09

    请问为什么它不能成功识别.BAT文件路径?

      1. 麻辣GIS
        麻辣GIS  · 2015-04-17 23:23

        你的路径是不是有空格?

  6. wxc680
    6#
    wxc680  · 2015-04-18 11:11

    编译gdal只能用vs20##软件吗?vc++6.0 不行吗?

      1. 麻辣GIS
        麻辣GIS  · 2015-04-18 14:09

        应该也可以,你去GDAL的官网看看,有没相应的支持版本。

  7. wxc680
    7#
    wxc680  · 2015-04-18 21:00

    .站长,小弟觉得您的方法有纰漏,下面是我搜到的方法以管理员身份运行Visual Studio x64 兼容工具命令提示(2010)http://m15989223765.blog.163.com/blog/static/233430095201421725748335/真诚感谢站长的帮助

  8. giser
    8#
    giser  · 2015-09-29 11:19

    我想问下我编译最后两行的时候总是出现两个错误
    Fatal error LNK1181和fatal error U1007 返回值0x49d
    有解决方法么

  9. 竹子
    9#
    竹子  · 2015-11-23 23:05

    你好,我现在在vs2010c++项目里用gdal打开图像,自己电脑可以正常打开,换别的电脑就打不开了,不是报错,就是打开的图像为空,这是为什么呀?谢谢

  10. 韩枫
    10#
    韩枫  · 2017-03-30 20:38

    编译时候出现这个

    cd ..
    if exist gdal.lib del gdal.lib
    lib /nologo /out:gdal.lib port\*.obj gcore\*.obj alg\*.obj frmts\o\*.obj
    ogr\ogrsf_frmts\ogrsf_frmts.lib ogr\ogr.lib
    nitf_gcprpc.obj : warning LNK4221: 此对象文件未定义任何之前未定义的公共符号,因
    此任何耗用此库的链接操作都不会使用此文件
    cpl_recode_iconv.obj : warning LNK4221: 此对象文件未定义任何之前未定义的公共符号
    ,因此任何耗用此库的链接操作都不会使用此文件
    link /nologo /dll /INCLUDE:_OGRFeatureStylePuller /INCLUDE:_OSRValidate
    /INCLUDE:_OPTGetProjectionMethods /INCLUDE:_OGR_G_GetPointCount /INCLUDE:_OG
    RRegisterAll /INCLUDE:_GDALSimpleImageWarp@36 /INCLUDE:_GDALReprojectImage@48
    /INCLUDE:_GDALComputeMedianCutPCT@32 /INCLUDE:_GDALDitherRGB2PCT@28 /INCLUDE:_
    OCTNewCoordinateTransformation@8 port\*.obj gcore\*.obj alg\*.obj frmts\o\*.obj
    ogr\ogrsf_frmts\ogrsf_frmts.lib ogr\ogr.lib
    odbc32.lib odbccp32.lib user32.lib ws2_32.lib gcore\Versio
    n.res /out:gdal110.dll /implib:gdal_i.lib
    正在创建库 gdal_i.lib 和对象 gdal_i.exp
    LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    NMAKE : fatal error U1077: “"D:\Program Files (x86)\Microsoft Visual Studio 10.
    0\VC\BIN\link.EXE"”: 返回代码“0x463”
    Stop.

发表评论