Advertencia C4251 cuando se crea una DLL que exporta una clase que contiene un miembro ATL :: CString

Estoy convirtiendo una biblioteca estática basada en ATL en una DLL y obtengo la siguiente advertencia sobre cualquier clase exportada que use ATLCString clase (encontrada en atlstr.h):

advertencia C4251: 'Foo :: str_': class 'ATL :: CStringT' necesita tener una interfaz dll para que la usen los clientes de la clase 'Foo'

Estoy declarando correctamente elFoo clase exportada a través de__declspec(dllexport). ¿Es esta una advertencia que puedo ignorar de forma segura o estoy haciendo algo mal? La configuración del proyecto DLL está configurada para vincularse dinámicamente con ATL, pero esto no parece hacer ninguna diferencia.

Por ejemplo:

#ifdef DLLTEST_EXPORTS
#define DLLTEST_API __declspec(dllexport)
#else
#define DLLTEST_API __declspec(dllimport)
#endif

// This class is exported from the DLLTest.dll
class DLLTEST_API Foo
{
public:
 Foo();
 CString str_; // WARNING C4251 HERE
};

Todos los clientes de esta DLL también utilizarán ATL.

Respuestas a la pregunta(4)

Su respuesta a la pregunta