如何消除在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 分 想赠
...全文
29 点赞 收藏 2
写回复
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或者修改程序之类的)
回复
发动态
发帖子
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
社区公告
暂无公告