A
arivero
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 wat 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
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 wat 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