Visual C++ 9.0 and static lib in release

10 views
Skip to first unread message

arivero

unread,
Jun 11, 2010, 6:19:53 AM6/11/10
to Visual C++ Lovers
Hello,

I am building with Visual C++ 9.0 an static library (not dll) that
uses only STL (basically vectors, maps and strings).

My purpose is to distribute this library as an evaluation. In short,
I
have to compile my static lib in release mode because I don't want to
open the library code (not for this evaluation version).

However, I would like to allow that other C++ developers can create
their own programs in debug mode linking with my library in release.

My problem comes when I do some test and act in the role of the
developers. For that I create a program in debug (it uses debug CRT)
and I link with the static library (that uses release CRT). All
compilation is ok, but when I run the program in debug it fails with
a
memory crack caused for the STLs. Problems are for example when I
use:

std::string str = "hello"

I know the problem is in mix debug and release versions with STL, if
I
don´t mix both modes all works fine, but I cannot distribute my
static
library in debug. So I have a problem when users want to build
programs
in debug.

So, this is my question... how can I distribute only one copy of my
static library without any debug information and without cracks :)
for
the users can link with it in debug or release?

Thanks in advance


Reply all
Reply to author
Forward
0 new messages