2005.08.18 21:51 "[Tiff] win32 libtiff", by Mark R. Olin

2005.08.18 22:43 "Re: [Tiff] win32 libtiff", by Edward Lam

Yes, but we compile it ourselves.

Offhand, I'd double-check that your application is either compiled in release mode or linked with the release C runtime libraries (eg. -MD).

Also double-check if the regular distribution programs like tiffinfo.exe work. If those work but not your program, then it's your fault. :)

-Edward

Anybody here use the win32 version of libtiff?

I recently installed the win32 libraries/dlls precompiled BINARIES from Sourceforge Gnuwin32 project website and linked the library to my program to use the high level methods for reading tiffs.

I am able to use the library routines successfully to read from tiffs and render the data... in fact there is no tangible problem to report in the results.

However, I did run the debugger anyway to check for access violations that were not caught at runtime.

In my program, I declared:

TIFF *tif ;

Two breakpoints are set in the program called "tiffread.exe".

#1 breakpoint is placed immediately before the line:

 tif = TIFFOpen( "..\\images\\barbara.tif", "r" );

At #1 the Debug Log gives an expected output:

----- Win32 Debug Session #01 --------

Program load @0x00400000 PID 0x000009C4 TID 0x00000D44
Loading ntdll.dll @0x7C900000
Loading KERNEL32.dll @0x7C800000
Loading USER32.dll @0x77D40000
Loading GDI32.dll @0x77F10000
Loading libtiff3.dll @0x6FD80000
Loading jpeg62.dll @0x686C0000
Loading msvcrt.dll @0x77C10000
Loading zlib1.dll @0x61B80000

#2 breakpoint immediately after TIFFOpen is called

At #2 the Debug Log gives an unexpected output showing an Access Violation:

----- Win32 Debug Session #01 --------

Program load @0x00400000 PID 0x000009C4 TID 0x00000D44
Loading ntdll.dll @0x7C900000
Loading KERNEL32.dll @0x7C800000
Loading USER32.dll @0x77D40000
Loading GDI32.dll @0x77F10000
Loading libtiff3.dll @0x6FD80000
Loading jpeg62.dll @0x686C0000
Loading msvcrt.dll @0x77C10000
Loading zlib1.dll @0x61B80000
Access Violation at address 0x7C96CC82

The program pointer is pointing at "ntdll.dll" and a Debug message appears

[Debug Messages]

HEAP[tiffread.exe]:

Invalid Address specified to RtlFreeHeap( 00140000, 0014A640 )

Although the program continues to run correctly with no more Access Violations, and I do get all the image data read out correctly, this concerns me that there may be a potential for a memory leak. Does anyone else have any ideas?

> ------------------------------------------------------------------------