<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>&nbsp;</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>&nbsp;</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>&nbsp;</o:p></p>

<p class=MsoNormal>Emmet.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>----<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>I build gdal 1.8 using &quot;nmake /f makefile.vc DEBUG=1&quot;
having set the ECW variables in nmake.opt<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>------- BUILD EXTRACT FOLLOWS SHOWING 'Default' DEBUG BUILD ----------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>D:\ThirdPartyBuilds\GDAL\yagb\gdal-1.8.0\frmts&gt;cd
ecw&nbsp;&nbsp; &amp;&amp; nmake /nologo /f makefile.vc&nbsp;&nbsp; &amp;&amp;
cd ..&nbsp;&nbsp; || exit 1<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cl&nbsp; /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&nbsp;
-I..\..\alg -I..\..\ogr\ogrsf_frmt<o:p></o:p></p>

<p class=MsoNormal>s -DHAVE_COMPRESS -DECWSDK_VERSION=41&nbsp;
-I&quot;D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK Desktop
Read-Write&quot;\include&nbsp; -I&quot;D:\Program Files (x86)\ERDAS\ERDAS
ECWJP2 SDK Desktop Read-Write&quot;\include/e<o:p></o:p></p>

<p class=MsoNormal>cw/api -I&quot;D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK
Desktop Read-Write&quot;\include/ecw/jp2&nbsp; -I&quot;D:\Program Files
(x86)\ERDAS\ERDAS ECWJP2 SDK Desktop Read-Write&quot;\include/ecw/ecw
-DFRMT_ecw -DOGR_<o:p></o:p></p>

<p class=MsoNormal>ENABLED&nbsp; /c ecwdataset.cpp<o:p></o:p></p>

<p class=MsoNormal>ecwdataset.cpp<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cl&nbsp; /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&nbsp;
-I..\..\alg -I..\..\ogr\ogrsf_frmt<o:p></o:p></p>

<p class=MsoNormal>s -DHAVE_COMPRESS -DECWSDK_VERSION=41&nbsp;
-I&quot;D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK Desktop
Read-Write&quot;\include&nbsp; -I&quot;D:\Program Files (x86)\ERDAS\ERDAS
ECWJP2 SDK Desktop Read-Write&quot;\include/e<o:p></o:p></p>

<p class=MsoNormal>cw/api -I&quot;D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK
Desktop Read-Write&quot;\include/ecw/jp2&nbsp; -I&quot;D:\Program Files
(x86)\ERDAS\ERDAS ECWJP2 SDK Desktop Read-Write&quot;\include/ecw/ecw
-DFRMT_ecw -DOGR_<o:p></o:p></p>

<p class=MsoNormal>ENABLED&nbsp; /c ecwcreatecopy.cpp<o:p></o:p></p>

<p class=MsoNormal>ecwcreatecopy.cpp<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cl&nbsp; /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&nbsp;
-I..\..\alg -I..\..\ogr\ogrsf_frmt<o:p></o:p></p>

<p class=MsoNormal>s -DHAVE_COMPRESS -DECWSDK_VERSION=41&nbsp;
-I&quot;D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK Desktop
Read-Write&quot;\include&nbsp; -I&quot;D:\Program Files (x86)\ERDAS\ERDAS
ECWJP2 SDK Desktop Read-Write&quot;\include/e<o:p></o:p></p>

<p class=MsoNormal>cw/api -I&quot;D:\Program Files (x86)\ERDAS\ERDAS ECWJP2 SDK
Desktop Read-Write&quot;\include/ecw/jp2&nbsp; -I&quot;D:\Program Files
(x86)\ERDAS\ERDAS ECWJP2 SDK Desktop Read-Write&quot;\include/ecw/ecw
-DFRMT_ecw -DOGR_<o:p></o:p></p>

<p class=MsoNormal>ENABLED&nbsp; /c jp2userbox.cpp<o:p></o:p></p>

<p class=MsoNormal>jp2userbox.cpp<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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
-&gt; 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
-&gt; 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
-&gt; D:\ThirdPartyBuilds\GDAL\yagb\gdal-1.8.0\frmts\o\jp2userbox.obj<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>...<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; link /nologo /dll
/INCLUDE:_OGRFeatureStylePuller&nbsp; /INCLUDE:_OSRValidate&nbsp; /INCLUDE:_OPTGetProjectionMethods&nbsp;
/INCLUDE:_OGR_G_GetPointCount&nbsp; /INCLUDE:_OGRRegisterAll
/INCLUDE:_GDALSimpleIm<o:p></o:p></p>

<p class=MsoNormal>ageWarp@36&nbsp; /INCLUDE:_GDALReprojectImage@48&nbsp;
/INCLUDE:_GDALComputeMedianCutPCT@32&nbsp; /INCLUDE:_GDALDitherRGB2PCT@28&nbsp;
/INCLUDE:_OCTNewCoordinateTransformation@8&nbsp; 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;D:\Program
Files (x86)\ERDAS\ERDAS ECWJP2 SDK Desktop
Read-Write&quot;\lib\vc80\win32\NCSEcw4d.lib&nbsp; &quot;D:\Program Files
(x86)\ERDAS\ERDAS<o:p></o:p></p>

<p class=MsoNormal>ECWJP2 SDK Desktop
Read-Write&quot;\lib\vc80\win32\NCSUtil4d.lib&nbsp; &quot;D:\Program Files
(x86)\ERDAS\ERDAS ECWJP2 SDK Desktop
Read-Write&quot;\lib\vc80\win32\NCScnet4d.lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
odbc32.lib<o:p></o:p></p>

<p class=MsoNormal>odbccp32.lib
user32.lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
gcore\Version.res&nbsp; /out:gdal18.dll /implib:gdal_i.lib&nbsp; /debug<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>------- BUILD EXTRACT END ----------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>I then built a simple test app:<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</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'>&lt;cpl_conv.h&gt;<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'>&lt;gdal.h&gt;<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'>&lt;gdal_priv.h&gt;<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>&nbsp;</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'>&lt;windows.h&gt;<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>&nbsp;</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'>&lt;iostream&gt;<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>&nbsp;</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"'>&nbsp; // 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>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp; <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"'>&nbsp; <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"'>&nbsp; <span style='color:blue'>unsigned</span> <span
style='color:blue'>int</span> xstep&nbsp; = 1;<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp; <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"'>&nbsp; <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"'>&nbsp; <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"'>&nbsp; <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"'>&nbsp; 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>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp; <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"'>&nbsp; CPLSetConfigOption( <span style='color:#A31515'>&quot;ECW_ENCODE_COMPANY&quot;</span>,
<span style='color:#A31515'>&quot;&quot;</span> );<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp; CPLSetConfigOption( <span style='color:#A31515'>&quot;ECW_ENCODE_KEY&quot;</span>,
<span style='color:#A31515'>&quot;&quot;</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>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp; GDALAllRegister();<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp; GDALDriver * pDriver =
GetGDALDriverManager()-&gt;GetDriverByName( <span style='color:#A31515'>&quot;JP2ECW&quot;</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>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp; <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"'>&nbsp; {<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; <span
style='color:#A31515'>&quot;Creating&quot;</span> &lt;&lt; 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"'>&nbsp;&nbsp;&nbsp; GDALDataset * poDstDS =
pDriver-&gt;Create( <span style='color:#A31515'>&quot;jpeg2000test.jp2&quot;</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"'>&nbsp;&nbsp;&nbsp; CPLErr err =
poDstDS-&gt;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"'>&nbsp;&nbsp;&nbsp; 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"'>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; <span
style='color:#A31515'>&quot;Written&quot;</span> &lt;&lt; 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"'>&nbsp; }<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp; <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"'>&nbsp; {<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; <span
style='color:#A31515'>&quot;jp2 Driver not found&quot;</span> &lt;&lt;
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"'>&nbsp; }<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>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp; 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"'>&nbsp; <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>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</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>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'>&gt; 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&nbsp; /debug<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-autospace:none'><o:p>&nbsp;</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>&nbsp;</o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NCSUtil4d.dll!NCS::CMutexLock::CMutexLock(NCS::CMutex
* pmMutex=0x0300cab8)&nbsp; Line 156 + 0x12 bytes&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NCSEcw4d.dll!NCS::CView::SetFileInfo(NCSFileViewFileInfoEx
&amp; Info={...})&nbsp; Line 1316 + 0x12 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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)&nbsp; Line 910 + 0x29 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdal18.dll!ECWWriteDataset::Crystalize()&nbsp;
Line 1433 + 0x65 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdal18.dll!ECWWriteDataset::FlushLine()&nbsp;
Line 1459 + 0x8 bytes C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdal18.dll!ECWWriteRasterBand::IWriteBlock(int
nBlockX=0, int nBlockY=0, void * pBuffer=0x03009290)&nbsp; Line 1561 + 0xb
bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdal18.dll!GDALRasterBlock::Write()&nbsp;
Line 518&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdal18.dll!GDALRasterBand::FlushBlock(int
nXBlockOff=0, int nYBlockOff=0, int bWriteDirtyBlock=1)&nbsp; Line 1079 + 0x8
bytes&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdal18.dll!GDALDataset::BlockBasedFlushCache()&nbsp;
Line 424 + 0x12 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdal18.dll!ECWWriteDataset::FlushCache()&nbsp;
Line 1366&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdal18.dll!ECWWriteDataset::~ECWWriteDataset()&nbsp;
Line 1345&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdal18.dll!ECWWriteDataset::`vector
deleting destructor'()&nbsp; + 0x50 bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gdal18.dll!GDALClose(void
* hDS=0x0300c648)&nbsp; Line 2380 + 0x20 bytes&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; main.exe!main()&nbsp;
Line 44&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++<o:p></o:p></p>

<p class=MsoNormal style='text-autospace:none'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; main.exe!__tmainCRTStartup()&nbsp;
Line 597 + 0x17 bytes&nbsp;&nbsp;&nbsp; C<o:p></o:p></p>

</div>

</body>

</html>