La biblioteca de Visual Studio C ++ dll se bloquea en la aplicación Qt

Tengo un problema al compartir datos "std :: string" entre la biblioteca DLL de MS Visual C ++ y el programa Qt.

Lo que tengo son:

Biblioteca de DLL escrita en Visual C ++ 2010 Express, que exporta un método:

extern "C" __declspec(dllexport) int Init(ITest* commandTest);

Interfaz abstracta "ITest" y una clase que lo implementa:

class CTest: public ITest
{
public:
    CTest();
    virtual ~CTest();
    virtual void getVersion(std::string & version) const;
};

Aplicación Qt GUI que necesita:

* load the DLL dynamically
* instantiate CTest and pass it to exported Init method.

En "Init" de DLL se llama un método "CTest :: getVersion ()". Espero que se complete la cadena "& version". Lo que obtengo en su lugar son fallos en la línea cuando relleno "& version" con la nueva cadena.

Lo que ya hice:

Descargué las "bibliotecas Qt 4.8.3 para Windows (VS 2010, 235 MB)" dehttp://qt-project.org/downloads, lo instaló y lo seleccionó en la configuración del proyecto de QtCreator.

en QtCreator cambió de la cadena de herramientas de MinGW a la instalada con MS Visual Studio 2010 Express.

Pensé que solucionaría el problema, porque usé bibliotecas Qt compiladas con VS 2010 y la GUI de Qt también se compiló con la cadena de herramientas VS C ++. Desafortunadamente el problema no se había ido, así que intenté el último paso:

Creé la aplicación Win32 Console en Visual Studio, cargué mi DLL a través de LoadLibrary, usé el método "Init" de la misma manera que lo hice en Qt GUI ... ¡y funcionó!

Pequeña observación

En "CTest :: getVersion ()" Estoy imprimiendo esta cadena de "versión" pasada por referencia a la consola. Cuando se utiliza la aplicación de consola VS C ++ como host, se imprime correctamente. Al usar la aplicación Qt, la cadena de "versión" se imprime con algo de basura alrededor (por ejemplo, ┌►┌qwerty27)

Esto me hace pensar que la aplicación ABI de Qt y mi DLL aún son incompatibles, incluso cuando se usan las bibliotecas Qt VS 2010 mencionadas anteriormente.

Preguntas:¿El uso de las bibliotecas Qt para Windows (VS 2010) y la cadena de herramientas de Visual Studio no es suficiente para superar los problemas de compatibilidad ABI?¿Significa que debo compilar el framework Qt por mi cuenta?Por favor ayuda - cualquier idea es bienvenida ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta