Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Leex от Август 16, 2011, 20:57



Название: Динамическая загрузка библиотеки и CRT
Отправлено: Leex от Август 16, 2011, 20:57
В основной программе и библиотеке описана структура типа:
Код:
struct MyStruct{
std::string m_string;
}
библиотека экспортирует одну функцию:
Код:
MyStruct GetStruct()
{
  MyStruct a;
  a.m_string="qwerty";
  return a;
}
Основная прога грузит эту библиотеку динамически и вызывает ее функцию GetStruct.
Вызывается нормально, в поле m_string лежит "qwerty" как и должно быть.
Проблема появляется, когда пытаешься изменить m_string, в режиме отладки пишет:
"Invalid Address specified to RtlFreeHeap( 003E0000, 004A4C74 )"
Это, как я понял, связано со способом компоновки CRT (статически или динамически).
Что следует предпринять что бы забороть данный косяк? Перерыл пол инета, но внятного ответа не нашел.

Компилятор mingw 4.4
библиотеки Qt не используются