We are currently building an API for a certain library. Part of the interface requires the library to get and return to the user classes such as vector and string.
When trying to simulate use of the library in a simple scenario, in debug mode the system crush when delivering a string as an input.
I believe there is a different representation of the string class in debug or release mode. Then our library assumes to receive a certain representation, read a data member incorrectly and crush along the way. So what is the best way method to transferring STL objects in an API. The target OS is windows XP compiled with MSVC 8, although the library user will use windows their compiler might (and probably will) be different Ideas we had so far:
It's not unreasonable at all to make people link against debug in debug mode, and release in release mode. That is how virtually every library does it. Even huge projects like DirectX release debug compiles of their binaries. #3 is a perfectly reasonable option/solution.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With