Search code examples
c++dllc++builderaccess-violationstringstream

AV when using std::stringstream in dll


I'm facing a problem, when I use a std::stringstream and call the << operator within a dll. After calling this operator my application reports an access violation when it gets closed.

In my test project there is a exe and and a dll. For both the option "link with dynamic RTL" is active. From the exe the following function of the dll is called:

void __stdcall Test(void)
{
    ss.str();
    ss << 1;
}

I found a report according to this in QC: qc.embarcadero.com/wc/qcmain.aspx?d=37491

Has anybody newer informations about this issue or a workaround? Disabling dynamic linking of the RTL is unfortunately not an option for me.

I can reproduce this with behaviour with C++ Builder XE6 and XE7

Regards KD


Solution

  • There is a workaround for this problem by Embarcadero:

    http://edn.embarcadero.com/article/39758#RADStudio2010ReleaseNotes-VCL%2FRTLNotes