我写了个DLL 并且导出了自己写的一些接口类(__declspec ( exportdll))。所有的类都在名字空间 namespace CDA 中。
在有些接口类中用到了stl 中的vector , map 等容器,在namespace CDA 中还定义了DLL内部用的结构体,
程序编译时出现许多警告:
例如:
1) 
d:\work\project\CDA_DLL\sqlcmd.h(333) : warning C4251: “CDA::CDA_SqlCmd::m_sql_struct” : struct“CDA::_sql”需要有 dll 接口由 class“CDA::CDA_SqlCmd”的客户端使用 
        d:\work\project\CDA_DLL\sqlcmd.h(92) : 参见“CDA::_sql”的声明此处的CDA::_sql 是我定义的结构体。CDA_SqlCmd 是我定义的接口类 2)
d:\work\project\CDA_DLL\bulkcmd.h(210) : warning C4251: “CDA::CDA_BulkCopyCmd::m_recorders” : class“std::map<_Kty,_Ty,_Pr,_Alloc>”需要有 dll 接口由 class“CDA::CDA_BulkCopyCmd”的客户端使用 
        with
        [
            _Kty=ACE_UINT32,
            _Ty=void *,
            _Pr=std::less<ACE_UINT32>,
            _Alloc=std::allocator<std::pair<const ACE_UINT32,void *>>
        ]
此处的CDA::CDA_BulkCopyCmd 是我写的接口类,类里有map< >类型的成员变量
m_recorders.不知如何处理这些错误。请指教。谢谢