div, span, p { padding: 0px; margin:0cm; margin-bottom:3.5pt;
text-align:justify; text-justify:inter-ideograph; text-autospace:none;
word-break:break-hangul; font-size: 10pt; }; p.fcknormal, li.fcknormal,
div.fcknormal { padding: 0px; margin:0cm; margin-bottom:3.5pt;
text-align:justify; text-justify:inter-ideograph; text-autospace:none;
word-break:break-hangul; font-size: 10pt };
I build GDAL library just opening "makegdal10.sln".
My test program is just simple console application with VS2010 without any
added configuration.
GDAL :f:\gdal-1.10.0\
Test program include config
:f:\gdal-1.10.0\port\;f:\gdal-1.10.0\gcore;f:\gdal-1.10.0\ogr;f:\gdal-1.10.0\frmts;
Test program link path :f:\gdal-1.10.0\gdal_i.lib
In my thought, my program may use same sources with GDAL.
Is there any GDAL configuration for my program?
Thanks.
Seung Ae
----- Original Message -----
From:Frank Warmerdam [[email protected]]
To:Seung Ae Lim [[email protected]]
Cc:gdal dev [[email protected]]
Sent:Fri , November 08, 2013 01:31 AM
Subject:Re: [gdal-dev] NewDataset and SetBand error
Seung,
If the fields, like papoBands in the dataset seem ok before stepping into
SetBand(), and corrupt once you are inside I would suspect that GDAL and your
application have been built with different gdal_priv.h include files *or* with
different structure alighnments flags for Visual Studio. Did you build GDAL
from source using the same configuration you are building your application with?
Best regards,
Frank
On Thu, Nov 7, 2013 at 1:03 AM, Seung Ae Lim < [email protected] > wrote:
Dear,
I make a console application with VS2010 linking "gdal_i.lib".
The steps are :
1. Create New Dataset and Band in main.cpp
class XXDataset : public GDALPamDataset
{
public:
XXDataset() {};
~XXDataset() {};
static GDALDataset* Open(GDALOpenInfo*);
};
class XXRasterBand : public GDALPamRasterBand
{
public:
XXRasterBand( GDALDataset*, int, GDALDataType );
~XXRasterBand() {};
};
GDALDataset* XXDataset::Open(GDALOpenInfo* pOpenInfo)
{
XXDataset* poDS = new XXDataset();
poDS- >nRasterXSize = 100;
poDS- >nRasterYSize = 200;
poDS- >eAccess = GA_Update;
poDS- >nBands = 3;
int iBand = 0;
for(iBand = 1; iBand < = 3; iBand++ )
{
XXRasterBand* band = new XXRasterBand( poDS, iBand, GDT_Byte);
poDS- >SetBand( iBand, band );
}
return poDS;
}
XXRasterBand::XXRasterBand( GDALDataset *poDS, int nBand, GDALDataType eType)
{
this- >poDS = poDS;
this- >nBand = nBand;
this- >eDataType = eType;
nRasterXSize = 100;
nRasterYSize = 200;
nBlockXSize = nRasterXSize;
nBlockYSize = nRasterYSize;
}
2. Add the code in main function
void main()
{
GDALDataset* pDSTemp = XXDataset::Open(NULL);
if (pDSTemp) GDALClose(pDSTemp);
}
I compile and try to debug this app.
But in "poDS- >SetBand" line of "XXDataset::Open", the app is broken when the
first band is ready to set.
In XXDataset::Open, all value of parameters is right.
But When stepping into the "SetBand" function, the values may be corrupted.
"papobands" of GDALDataset is not null and it make an error.
Please let me know the reason or some tips.
Thanks.
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, [email protected]
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Software Developer
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev