报错信息为LINK : fatal error LNK1104: cannot open file "stlport_vc6_static.obj"

salsfy 2006-01-17 11:28:25
请教如何解决?
由于在一些类中定义了静态量,而且各个含有静态量的类相互include。
在定义静态量的类中声明了静态量,如下:
#ifndef __OperFile_h__
#define __OperFile_h__

#include <fstream>
using namespace std;
//文件操作
class COperFile
{
private:
static fstream* pf;
static char* _pPath;
static COperFile* pOperFile;
COperFile();
public:
virtual ~COperFile();
void fConnect(char* pPath);
void fRead(char*,int);
void fWrite(char*,int);
void fDisconnect();
static COperFile* getInstance();
};
fstream* COperFile::pf;
COperFile* COperFile::pOperFile;
char* COperFile::_pPath;
#endif
则报TrackFile.obj : error LNK2005: "private: static class _STL::basic_fstream<char,class _STL::char_traits<char> > * COperFile::pf" (?pf@COperFile@@0PAV?$basic_fstream@DV?$char_traits@D@_STL@@@_STL@@A) already defined in OperFile.obj的错误
,如果去掉声明则报fatal error LNK1104: cannot open file "stlport_vc6_static.obj"

...全文
194 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsjjms 2006-01-17
  • 打赏
  • 举报
回复
按楼上楼上的做法,就是换一个STL库,然后重新编译:)

STL 库可以到网上下,很多人重写过STL,很好用的..

CSDN上也有人写过..
salsfy 2006-01-17
  • 打赏
  • 举报
回复
大虾,能告诉我具体怎么做嘛???
蒋晟 2006-01-17
  • 打赏
  • 举报
回复
明显没编译stlport
去下载一个stlport来编译,或者换一个STL库。

64,691

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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