我有一个遗留的C++项目,现在我第一次用stlport4编译它。
我所做的是: 1.构建一个libmcommon_stl库:用-libraty=stlport4 -library=no%Csd编译。我没有禁用在STL配置和所有一切都好,直到这里;
文件std::ostream &operator<<(std::ostream &,const &)/home/my/lib/libmCommonstl.so中未定义的第一个引用符号
我理解链接器无法找到operator<<定义,并验证了与此相关的代码:
cerr << (RWCollectableString)rwhIterator.value() << endl;
我试过使用-library=Cstd,但是看到了很多错误。如何与ostream连接?现在能摆脱cerr的依赖了吗?
发布于 2015-05-26 13:53:21
<iostream>和STL在历史上是不相关的。自1998年以来,这两者在成为标准库= namespace std的一部分时就变得相互关联了。那时,这两个人就粘在一起了。
STLport是1998年前STL的延续.将它粘到IOstreams上有点棘手,因为预计会有什么确切的流?STLport的主要用途是在完全没有标准库的平台上使用,因此可以替代标准IOstreams,但也可以选择使用标准IOstreams。
从您的错误来看,您对流的选择似乎不一致。你想要哪一个?
https://stackoverflow.com/questions/30460357
复制相似问题