天天看点

VC++2010中GDAL的安装VC++2010中GDAL的安装

VC++2010中GDAL的安装

准备文件:VS2010(必须滴),GDAL的源码(http://download.osgeo.org/gdal/gdal142.zip,我用的这个版本的)

1、编译GDAL,获取Include和Lib和DLL

1)下载后解压到某目录下,如C:\GDALsrc下。

2)启动cmd,进入VC10的安装目录下,默认为C:\Program Files\Microsoft Visual Studio 10.0\VC\bin,要是你会改目录,找这个东西应该木问题~在此目录下有个文件VCVARS32.BAT,执行一下这个文件,此时配置好了编译的环境

3)然后重新回到C:\GDALsrc下。运行命令nmake /f makefile.vc。编译完成。

4)这一步安装GDAL,用记事本打开文件C:\GDALsrc\nmake.opt,修改GDAL_HOME= (GDAL安装目录,比如说我们安装在C:\GDAL)

5)cmd在C:\GDALsrc下执行nmake /f makefile.vc install,然后是nmake /f makefile.vc devinstall,然后我们需要的东西就安装到了C:\GDAL下了,里面有bin,data,html,lib,include几个文件夹。

2、配置VS的项目

其实也没啥配置的,就是引人lib和include,然后放置好dll。

1)项目的属性-->vc++目录-->包含目录引入C:\GDAL下的include-->库目录引入C:\GDAL下的lib-->确定

2)dll放到跟suo文件一个目录的debug里面……坑爹的vs一个项目有两个debug……囧,自己看好了是哪个啊

3、代码测试:

#include "stdafx.h"

#include "gdal_priv.h"

#include <iostream>

#pragma comment(lib, "gdal_i.lib")

using namespace std;

int main(int argc, char* argv[])

{

    if(argc!=2)

    {

        return 0;

    }

    GDALDataset *poDataset;

    GDALAllRegister();

    poDataset = (GDALDataset *) GDALOpen( argv[1], GA_ReadOnly );

    if( poDataset != NULL )

    {

        cout<<"RasterXSize:"<<poDataset->GetRasterXSize()<<endl;

        cout<<"RasterYSize:"<<poDataset->GetRasterYSize()<<endl;

        cout<<"RasterCount:"<<poDataset->GetRasterCount()<<endl;

    }

    return 0;

}

编译之后,假定生成的程序名为Test.exe,在命令行下test.exe aa.jpg,将打印出图片的长宽和图层数,如:

C:\>Test aa.JPG

RasterXSize:1200

RasterYSize:900

RasterCount:3

注意:

网上的代码一般没有#pragma comment这一行,如果没有的话会报

error LNK2001: 无法解析的外部符号 "public: virtual char const * __thiscall GDALMajorObject::GetDescription(void)const " ([email protected]@@UBEPBDXZ)

。。。。。。一堆错误

貌似还有个是设置项目的属性配置这个lib,但是我不会,谁知道的吱一声吧,3Q

继续阅读