AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
February 2010

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2010.02.15 13:16 "Using libtiff in Visual C++ 6.0", by Weichao Wang
2010.02.15 15:43 "Re: Using libtiff in Visual C++ 6.0", by Bob Friesenhahn
2010.02.15 23:45 "Re: Using libtiff in Visual C++ 6.0", by Graeme Gill
2010.02.16 00:37 "Re: Using libtiff in Visual C++ 6.0", by Graeme Gill
2010.02.16 01:25 "Re: Using libtiff in Visual C++ 6.0", by Bob Friesenhahn
2010.02.15 18:19 "Re: Tiff Digest, Vol 69, Issue 9", by Spike Mclarty
2010.02.17 12:36 "Re: Tiff Digest, Vol 69, Issue 10", by Weichao Wang
2010.02.17 14:41 "Re: Using libtiff in Visual C++ 6.0", by Edward Lam
2010.02.17 15:16 "Re: Using libtiff in Visual C++ 6.0", by Gerben Vos
2010.02.17 15:43 "Re: Using libtiff in Visual C++ 6.0", by Toby Thain
2010.02.17 15:25 "Re: Using libtiff in Visual C++ 6.0", by Weichao Wang
2010.02.16 14:08 "Re: Using libtiff in Visual C++ 6.0", by Olivier Paquet
2010.02.16 15:45 "Re: Using libtiff in Visual C++ 6.0", by Weichao Wang
2010.02.16 17:08 "Re: Using libtiff in Visual C++ 6.0", by Bob Friesenhahn
2010.02.16 17:40 "Re: Using libtiff in Visual C++ 6.0", by Kevin Myers
2010.02.16 17:45 "Re: Using libtiff in Visual C++ 6.0", by Bob Friesenhahn
2010.02.16 18:36 "Re: Using libtiff in Visual C++ 6.0", by Edward Lam
2010.02.16 21:43 "Re: Using libtiff in Visual C++ 6.0", by <jcupitt@gmail.com>
2010.02.17 11:56 "Re: Using libtiff in Visual C++ 6.0", by Weichao Wang
2010.02.17 12:18 "Re: Using libtiff in Visual C++ 6.0", by Weichao Wang
2010.02.18 15:01 "Re: Using libtiff in Visual C++ 6.0", by Olivier Paquet
2010.02.18 15:59 "Re: OT: Visual C++ runtimes (was: Using libtiff in Visual C++ 6.0)", by Edward Lam
2010.02.18 17:41 "Re: Using libtiff in Visual C++ 6.0", by Phillip Crews
2010.02.18 19:50 "Re: Using libtiff in Visual C++ 6.0", by Bob Friesenhahn
2010.02.19 18:32 "Re: Using libtiff in Visual C++ 6.0", by Phillip Crews

2010.02.16 21:43 "Re: Using libtiff in Visual C++ 6.0", by <jcupitt@gmail.com>

On 16 February 2010 17:40, Kevin Myers <kmyers1@clearwire.net> wrote:
> So, you're saying that he can't (easily?) link to a libtiff DLL that has
> been built using GCC from an application that will be built using MSVC?

I used to think that linking on *nix systems could get a little hairy,
but it seems like it's fairly straightforward compared to Windows.

My understanding of the issue (I'm not a Windows person, so I may not
have this straight) is that things like mingw (ie. a gcc derivative
that targets Windows) produce DLLs that are linked against MSVCRT.DLL,
the standard C runtime that is present (in some form) on all Windows
machines since win95. They use this runtime for two reasons: 1) it's
everywhere, so installation of binaries which link against this is
easy and 2) because you don't need to distribute and install a
runtime, there are no licensing issues to consider.

MSVC 6.0 also uses this runtime, so projects built with this compiler
should work with the libtiff DLLs.

Sadly, later MSVC versions use a different runtime, usually called
msvcrt70.dll, or some higher number. MS changed the runtime name
because the runtime doesn't just supply functions like malloc, printf
and friends, it also supplies basic parts of C++, like the functions
supporting exception handling. MSVC7 and later have a new exception
system that breaks binary compatibility.

So ... versions of MSVC later than 6.0 will be unable to link against
the libtiff DLLs.

There is a workaround though. The Windows Driver Development Kit
includes a compiler which is able to link against he old MSVCRT and
which therefore should be able to use the libtiff DLLs. I think this
blog post is supposed to be the definitive explanation of this idea:

http://kobyk.wordpress.com/2007/07/20/dynamically-linking-with-msvcrtdll-using-visual-c-2005/

However as Bob says this is probably not worth the candle. You should
build your whole project with one compiler and not rely too strongly
on binary compatibility between compiler versions.

John