Compiling with Visual Studio 2005

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Compiling with Visual Studio 2005

Tim Anderson-2
This isn't specific to Sqlite; but the situation with msvcr80.dll is
worth noting. See my blog post:

http://www.itwriting.com/blog/?postid=261

In a nutshell: if you use the latest Microsoft compiler and choose
dynamic linking to the C runtime library, you have a potentially complex
deployment. Easiest solution is to use static linking (/MT rather than
/MD); but dynamic linking is the default. Or use a different compiler.

I'm not sure that I've nailed every last nuance of this problem, so
comments welcome.

Tim
Reply | Threaded
Open this post in threaded view
|

Re: Compiling with Visual Studio 2005

Teg-3
Hello Tim,

I've run into the same thing and have reverted back to VC6 for this
and other reasons. One change that might be really signitificant is
that the time_t is now a 64 bit number and that "time()" doesn't
return seconds since the epoche by default any more. You can force it
to be 32 bits again but, you have to define:

#define _USE_32BIT_TIME_T

in every situation where you use "time" and time_t's. The default
structure alignment is different between VC6 and VS2005 as well.

For most things, VS2005 generates slower code than VC6. Since I just
do C++, there was no significant benefit to using it over VC6. It is
better than VS2003 though. I use VS2005 now to validate my code since
it does a much better job with C++ standards compliance than VC6 but,
I don't release with it.


C




Sunday, January 1, 2006, 11:48:59 AM, you wrote:

TA> This isn't specific to Sqlite; but the situation with msvcr80.dll is
TA> worth noting. See my blog post:

TA> http://www.itwriting.com/blog/?postid=261

TA> In a nutshell: if you use the latest Microsoft compiler and choose
TA> dynamic linking to the C runtime library, you have a potentially complex
TA> deployment. Easiest solution is to use static linking (/MT rather than
TA> /MD); but dynamic linking is the default. Or use a different compiler.

TA> I'm not sure that I've nailed every last nuance of this problem, so
TA> comments welcome.

TA> Tim



--
Best regards,
 Teg                            mailto:[hidden email]