2007.03.09 21:20 "[Tiff] Regarding NULL TIFFOpen return on Windows", by W Bradford Paley

2007.03.11 05:51 "Re: [Tiff] Regarding NULL TIFFOpen return on Windows", by Edward Lam

On Sat, March 10, 2007 2:52, W Bradford Paley said:

Wondering whether I was misusing the library was what prompted me to find and build that other version. Once I linked with that one, TIFFOpen() with the exact same parameters worked fine.

You have probably hit upon CRT Hell (CRT = C Run-Time Library), which is a variant of DLL Hell. To make a long story short, the libtiff library and your application must be compiled to use the same CRT library. ie. you must compile the latest version of libtiff yourself. It's not hard. See:

    http://remotesensing.org/libtiff/build.html#PC

Unfortunately, if you need JPEG or Deflate support, you will also need to build your own libjpeg and zlib. I just noticed that www.zlib.net has long FAQ on their own CRT issues:

    http://www.zlib.net/DLL_FAQ.txt

Anyhow, building zlib and libjpeg are not that hard either. You just need some patience. :)

The long explanation: MSVC .Net 2003 and MSVC 2005 use different, incompatible versions of the CRT library. I'm guessing that you're using MSVC 2005 and GnuWin32 is using MSVC .Net 2003. It's a general mess right now from my personal vantange point. For some info, you this link also has some more info:

    http://msdn2.microsoft.com/en-us/library/ms235460(VS.80).aspx

Regards,

-Edward