如何消除在VC6中使用SGI STL(stlport4.5.3)中的警告信息

pampa
业界专家认证
2002-12-30 10:28:30
我在vc的 dll project的头文件中写了如下代码:

#include <fstream>
using std::ofstream;

class CMyTest
{
//....
ofstream m_stream;
}

编译警告level 3时出现 如下警告信息:
warning C4251: 'm_stream' : class '_STL::basic_ofstream<char,class _STL::char_traits<char> >' needs to have dll-interface to be used by clients of class ‘CMyTest’

请问如何消除这个警告信息,
哪位大虾清楚,请指点,
50 分 想赠
...全文
57 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuiwader 2002-12-30
  • 打赏
  • 举报
回复
在文件的头上(在include语句之前)加上如下语句:
#pragma warning(disable : 4251)

如果warning的编号不一样,则disable后面的数字要做相应改变,例如使用std::map的时候改为#pragma warning(disable : 4786)
pampa 2002-12-30
  • 打赏
  • 举报
回复
谢谢,果然可以

再问一下,
1.这样处理是否只针对这一个文件,不会影响其他文件的同编号的警告信息?
2.如果不采用这种方式,有无其他办法来消除这个警告(例如修改project setting或者修改程序之类的)

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧