Si Oracle DLL recibe y/o pasa objetos como std::string
o cualquier otro objeto que:
- Manipula el montón de alguna manera, o
- Los objetos pueden tener partes internas diferentes entre la aplicación y la DLL,
entonces no tiene más remedio que usar la biblioteca correcta para vincular. De lo contrario, terminará pasando objetos binarios o incompatibles con el montón, lo que lleva a lo que está viendo ahora.
Consulte aquí:http://docs.oracle. com/cd/E11882_01/appdev.112/e10764/install.htm#CBHGBBJI
El enlace anterior menciona tanto la biblioteca de importación de depuración como la versión de depuración de la DLL. También esto se indica en el enlace:
Applications that link to MSVCRTD.DLL, a debug version of Microsoft C-Runtime, /MDd compiler flag, should link with these specific OCCI libraries: oraocci11d.lib and oraocci11d.dll.