我有一个遗留的C ++项目,现在我第一次用stlport4编译它。
我做的是: 1.构建一个libmcommon_stl库:用-libraty = stlport4 -library = no%Csd编译。我没有在STL配置中禁用ostream,直到这里都可以;
未定义首次引用 文件中的符号 std :: ostream& operator<<(std :: ostream&,const RWCollectableString&)/ home / my / lib / libmcommon_stl.so
我知道链接器无法找到运算符<<定义并验证与此相关的代码:
cerr<< (RWCollectableString )rwhIterator.value()<< ENDL;
我尝试使用-library = Cstd,但看到了很多错误。如何与ostream联系?现在可以摆脱cerr依赖?
答案 0 :(得分:0)
<iostream>
和STL在历史上是无关的。自1998年以来,当两者成为标准库= namespace std
的一部分时,两者变得相关。那时,两人粘在一起。
STLport是1998年以前STL的延续。将其粘贴到IOstreams有点棘手,因为预期会有什么确切的流? STLport的主要用途是在完全错过标准库的平台上,因此可以替代标准IO流,但也可以选择使用标准IO流。
根据您的错误,您选择的流似乎不一致。你想要哪一个?