Hvis Oracle DLL modtager og/eller sender objekter såsom std::string
eller ethvert andet objekt, der enten:
- Manipulerer heapen på nogen måde, eller
- Objekterne kan have forskellige interne elementer mellem app og DLL,
så har du intet andet valg end at bruge det korrekte bibliotek at linke til. Ellers ender du med, at binære eller bunke-inkompatible objekter bliver passeret, hvilket fører til det, du ser nu.
Se her:http://docs.oracle. com/cd/E11882_01/appdev.112/e10764/install.htm#CBHGBBJI
Linket ovenfor nævner både debug-importbiblioteket og debug-versionen af DLL'en. Dette fremgår også af linket:
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.