<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-GB link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal>All,<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I have been trying to build GDAL with ECWJP2 support. I have
built a test program using exactly the same build environment (vc80) and flags
as the gdal default gdal build enviroment. In Debug builds in or out of the
debugger I experience a crash in the ERDAS (debug) dll on GDALClose(). Below I
include full details demonstrating the vanilla test carried out.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>If anyone could offer thoughts on what I might be doing
wrong I would be very grateful.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Emmet.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>----<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I build gdal 1.8 using "nmake /f makefile.vc DEBUG=1"
having set the ECW variables in nmake.opt<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>------- BUILD EXTRACT FOLLOWS SHOWING 'Default' DEBUG BUILD ----------<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>D:\ThirdPartyBuilds\GDAL\yagb\gdal-1.8.0\frmts>cd
ecw && nmake /nologo /f makefile.vc &&
cd .. || exit 1<o:p></o:p></p>
<p class=MsoNormal> cl /nologo
/MD /EHsc /Zi /W4 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
/Fd..\..\gdal18.pdb /DDEBUG -I..\..\port -I..\..\ogr -I..\..\gcore
-I..\..\alg -I..\..\ogr\ogrsf_frmt<o:p></o:p></p>
<p class=MsoNormal>s -DHAVE_COMPRESS -DECWSDK_VERSION=41
-I"D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK Desktop
Read-Write"\include -I"D:\Program Files (x86)\ERDAS\ERDAS
ECWJP2 SDK Desktop Read-Write"\include/e<o:p></o:p></p>
<p class=MsoNormal>cw/api -I"D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK
Desktop Read-Write"\include/ecw/jp2 -I"D:\Program Files
(x86)\ERDAS\ERDAS ECWJP2 SDK Desktop Read-Write"\include/ecw/ecw
-DFRMT_ecw -DOGR_<o:p></o:p></p>
<p class=MsoNormal>ENABLED /c ecwdataset.cpp<o:p></o:p></p>
<p class=MsoNormal>ecwdataset.cpp<o:p></o:p></p>
<p class=MsoNormal> cl /nologo
/MD /EHsc /Zi /W4 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
/Fd..\..\gdal18.pdb /DDEBUG -I..\..\port -I..\..\ogr -I..\..\gcore
-I..\..\alg -I..\..\ogr\ogrsf_frmt<o:p></o:p></p>
<p class=MsoNormal>s -DHAVE_COMPRESS -DECWSDK_VERSION=41
-I"D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK Desktop
Read-Write"\include -I"D:\Program Files (x86)\ERDAS\ERDAS
ECWJP2 SDK Desktop Read-Write"\include/e<o:p></o:p></p>
<p class=MsoNormal>cw/api -I"D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK
Desktop Read-Write"\include/ecw/jp2 -I"D:\Program Files
(x86)\ERDAS\ERDAS ECWJP2 SDK Desktop Read-Write"\include/ecw/ecw
-DFRMT_ecw -DOGR_<o:p></o:p></p>
<p class=MsoNormal>ENABLED /c ecwcreatecopy.cpp<o:p></o:p></p>
<p class=MsoNormal>ecwcreatecopy.cpp<o:p></o:p></p>
<p class=MsoNormal> cl /nologo
/MD /EHsc /Zi /W4 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
/Fd..\..\gdal18.pdb /DDEBUG -I..\..\port -I..\..\ogr -I..\..\gcore
-I..\..\alg -I..\..\ogr\ogrsf_frmt<o:p></o:p></p>
<p class=MsoNormal>s -DHAVE_COMPRESS -DECWSDK_VERSION=41
-I"D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK Desktop
Read-Write"\include -I"D:\Program Files (x86)\ERDAS\ERDAS
ECWJP2 SDK Desktop Read-Write"\include/e<o:p></o:p></p>
<p class=MsoNormal>cw/api -I"D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK
Desktop Read-Write"\include/ecw/jp2 -I"D:\Program Files
(x86)\ERDAS\ERDAS ECWJP2 SDK Desktop Read-Write"\include/ecw/ecw
-DFRMT_ecw -DOGR_<o:p></o:p></p>
<p class=MsoNormal>ENABLED /c jp2userbox.cpp<o:p></o:p></p>
<p class=MsoNormal>jp2userbox.cpp<o:p></o:p></p>
<p class=MsoNormal> xcopy /y /r /d /f
*.obj ..\o<o:p></o:p></p>
<p class=MsoNormal>D:\ThirdPartyBuilds\GDAL\yagb\gdal-1.8.0\frmts\ecw\ecwcreatecopy.obj
-> D:\ThirdPartyBuilds\GDAL\yagb\gdal-1.8.0\frmts\o\ecwcreatecopy.obj<o:p></o:p></p>
<p class=MsoNormal>D:\ThirdPartyBuilds\GDAL\yagb\gdal-1.8.0\frmts\ecw\ecwdataset.obj
-> D:\ThirdPartyBuilds\GDAL\yagb\gdal-1.8.0\frmts\o\ecwdataset.obj<o:p></o:p></p>
<p class=MsoNormal>D:\ThirdPartyBuilds\GDAL\yagb\gdal-1.8.0\frmts\ecw\jp2userbox.obj
-> D:\ThirdPartyBuilds\GDAL\yagb\gdal-1.8.0\frmts\o\jp2userbox.obj<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>...<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> lib /nologo
/out:gdal.lib port\*.obj gcore\*.obj alg\*.obj frmts\o\*.obj
ogr\ogrsf_frmts\ogrsf_frmts.lib ogr\ogr.lib<o:p></o:p></p>
<p class=MsoNormal>ogrsf_frmts.lib(resolvexlinks.obj) : warning LNK4221: no
public symbols found; archive member will be inaccessible<o:p></o:p></p>
<p class=MsoNormal> link /nologo /dll
/INCLUDE:_OGRFeatureStylePuller /INCLUDE:_OSRValidate /INCLUDE:_OPTGetProjectionMethods
/INCLUDE:_OGR_G_GetPointCount /INCLUDE:_OGRRegisterAll
/INCLUDE:_GDALSimpleIm<o:p></o:p></p>
<p class=MsoNormal>ageWarp@36 /INCLUDE:_GDALReprojectImage@48
/INCLUDE:_GDALComputeMedianCutPCT@32 /INCLUDE:_GDALDitherRGB2PCT@28
/INCLUDE:_OCTNewCoordinateTransformation@8 port\*.obj gcore\*.obj
alg\*.obj frm<o:p></o:p></p>
<p class=MsoNormal>ts\o\*.obj ogr\ogrsf_frmts\ogrsf_frmts.lib
ogr\ogr.lib "D:\Program
Files (x86)\ERDAS\ERDAS ECWJP2 SDK Desktop
Read-Write"\lib\vc80\win32\NCSEcw4d.lib "D:\Program Files
(x86)\ERDAS\ERDAS<o:p></o:p></p>
<p class=MsoNormal>ECWJP2 SDK Desktop
Read-Write"\lib\vc80\win32\NCSUtil4d.lib "D:\Program Files
(x86)\ERDAS\ERDAS ECWJP2 SDK Desktop
Read-Write"\lib\vc80\win32\NCScnet4d.lib
odbc32.lib<o:p></o:p></p>
<p class=MsoNormal>odbccp32.lib
user32.lib
gcore\Version.res /out:gdal18.dll /implib:gdal_i.lib /debug<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>------- BUILD EXTRACT END ----------<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I then built a simple test app:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>#include</span><span style='font-size:
10.0pt;font-family:"Courier New"'> <span style='color:#A31515'><cpl_conv.h><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>#include</span><span style='font-size:
10.0pt;font-family:"Courier New"'> <span style='color:#A31515'><gdal.h><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>#include</span><span style='font-size:
10.0pt;font-family:"Courier New"'> <span style='color:#A31515'><gdal_priv.h><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:#A31515'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>#include</span><span style='font-size:
10.0pt;font-family:"Courier New"'> <span style='color:#A31515'><windows.h><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:#A31515'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>#include</span><span style='font-size:
10.0pt;font-family:"Courier New"'> <span style='color:#A31515'><iostream><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:#A31515'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>int</span><span style='font-size:10.0pt;
font-family:"Courier New"'> main ()<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>{ <o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> // DebugBreak();<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>unsigned</span> <span
style='color:blue'>int</span> x_size = 100;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>unsigned</span> <span
style='color:blue'>int</span> y_size = 150;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>unsigned</span> <span
style='color:blue'>int</span> xstep = 1;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>unsigned</span> <span
style='color:blue'>int</span> pstep = 1;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>unsigned</span> <span
style='color:blue'>int</span> nplanes = 1;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>unsigned</span> <span
style='color:blue'>int</span> ystep = x_size * xstep; <o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>void</span> * data =
malloc( y_size * ystep );<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> memset( data, 128, y_size * ystep );<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:green'>// OEM License code
for ERDAS ECW JPEG2000 compression capability<o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> CPLSetConfigOption( <span style='color:#A31515'>"ECW_ENCODE_COMPANY"</span>,
<span style='color:#A31515'>""</span> );<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> CPLSetConfigOption( <span style='color:#A31515'>"ECW_ENCODE_KEY"</span>,
<span style='color:#A31515'>""</span> );<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> GDALAllRegister();<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> GDALDriver * pDriver =
GetGDALDriverManager()->GetDriverByName( <span style='color:#A31515'>"JP2ECW"</span>
);<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>if</span> ( pDriver
)<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> {<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> std::cout << <span
style='color:#A31515'>"Creating"</span> << std::endl;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> GDALDataset * poDstDS =
pDriver->Create( <span style='color:#A31515'>"jpeg2000test.jp2"</span>,
x_size, y_size, nplanes , GDT_Byte, NULL );<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> CPLErr err =
poDstDS->RasterIO( GF_Write, 0, 0, x_size, y_size, data, x_size, y_size,
GDT_Byte, nplanes , NULL, xstep, ystep, pstep );<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> GDALClose( (GDALDatasetH) poDstDS
);<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> std::cout << <span
style='color:#A31515'>"Written"</span> << std::endl;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> }<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>else<o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> {<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> std::cout << <span
style='color:#A31515'>"jp2 Driver not found"</span> <<
std::endl;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> }<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> free( data );<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>return</span> 0;<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>}<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>using a matched build line from the build extract
above:<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'>> cl /nologo /MD /EHsc /Zi
/W4 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG
-I..\include\ main.cxx ..\bin\Release\gdal_i.lib /link /debug<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'><o:p> </o:p></p>
<p class=MsoNormal style='text-autospace:none'><o:p> </o:p></p>
<p class=MsoNormal style='text-autospace:none'>and when I run this program I
get a memory access failure in a mutex in the ERDAS library when GDALClose() is
called:<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'><o:p> </o:p></p>
<p class=MsoNormal style='text-autospace:none'> NCSUtil4d.dll!NCS::CMutexLock::CMutexLock(NCS::CMutex
* pmMutex=0x0300cab8) Line 156 + 0x12 bytes C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> NCSEcw4d.dll!NCS::CView::SetFileInfo(NCSFileViewFileInfoEx
& Info={...}) Line 1316 + 0x12 bytes C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'>> gdal18.dll!GDALECWCompressor::Initialize(const
char * pszFilename=0x03008d78, char * * papszOptions=0x00000000, int
nXSize=100, int nYSize=150, int nBands=1, int bRGBA=0, GDALDataType
eType=GDT_Byte, const char * pszWKT=0x00000000, double *
padfGeoTransform=0x0300c6f8, int nGCPCount=0, const GDAL_GCP *
pasGCPList=0x00000000, int bIsJPEG2000=1) Line 910 + 0x29 bytes C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> gdal18.dll!ECWWriteDataset::Crystalize()
Line 1433 + 0x65 bytes C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> gdal18.dll!ECWWriteDataset::FlushLine()
Line 1459 + 0x8 bytes C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> gdal18.dll!ECWWriteRasterBand::IWriteBlock(int
nBlockX=0, int nBlockY=0, void * pBuffer=0x03009290) Line 1561 + 0xb
bytes C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> gdal18.dll!GDALRasterBlock::Write()
Line 518 C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> gdal18.dll!GDALRasterBand::FlushBlock(int
nXBlockOff=0, int nYBlockOff=0, int bWriteDirtyBlock=1) Line 1079 + 0x8
bytes C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> gdal18.dll!GDALDataset::BlockBasedFlushCache()
Line 424 + 0x12 bytes C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> gdal18.dll!ECWWriteDataset::FlushCache()
Line 1366 C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> gdal18.dll!ECWWriteDataset::~ECWWriteDataset()
Line 1345 C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> gdal18.dll!ECWWriteDataset::`vector
deleting destructor'() + 0x50 bytes C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> gdal18.dll!GDALClose(void
* hDS=0x0300c648) Line 2380 + 0x20 bytes C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> main.exe!main()
Line 44 C++<o:p></o:p></p>
<p class=MsoNormal style='text-autospace:none'> main.exe!__tmainCRTStartup()
Line 597 + 0x17 bytes C<o:p></o:p></p>
</div>
</body>
</html>