错误:strstream.h:没有这样的文件或目录

sub*_*989 1 c++ gcc

我试图在Linux(Redhat)中运行旧的C++代码.我使用的是gcc 4.1.2版.

我收到以下错误:

error: strstream.h: No such file or directory
/trnuser1/rmtrain/DevelopmentEnv/Generic/CoreObjects/GCVTransformationServices.cpp:41: error: âostrstreamâ was not declared in this scope
/trnuser1/rmtrain/DevelopmentEnv/Generic/CoreObjects/GCVTransformationServices.cpp:41: error: expected `;' before âstrDestXMLâ
/trnuser1/rmtrain/DevelopmentEnv/Generic/CoreObjects/GCVTransformationServices.cpp:62: error: âstrDestXMLâ was not declared in this scope
Run Code Online (Sandbox Code Playgroud)

这个代码在Solaris下运行正常,gcc版本为2.95.错误指向的行包含以下语句:

ostrstream strDestXML;
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

unk*_*ulu 7

你可以#include <strstream>(注意没有'.h'后缀).但是,如果你要正确地将代码移植到现代C++,你应该考虑改变以#include <sstream>std::ostringstream strDestXML;为在注释建议.