std::ostream may not have a default constructor on Windows so we need to supply a NULL buffer and then change the buffer to ours. Index: src/StoreEntryStream.h =================================================================== RCS file: /cvsroot/squid/squid3/src/StoreEntryStream.h,v retrieving revision 1.4 diff -u -r1.4 StoreEntryStream.h --- src/StoreEntryStream.h 7 Aug 2007 20:02:51 -0000 1.4 +++ src/StoreEntryStream.h 13 Aug 2007 16:41:26 -0000 @@ -116,7 +116,11 @@ public: /* create a stream for writing text etc into theEntry */ - StoreEntryStream(StoreEntry *entry): theBuffer(entry) { this->init(&theBuffer); } + // See http://www.codecomments.com/archive292-2005-2-396222.html + StoreEntryStream(StoreEntry *entry): std::ostream(0), theBuffer(entry) { + rdbuf(&theBuffer); // set the buffer to now-initialized theBuffer + clear(); //clear badbit set by calling init(0) + } private: StoreEntryStreamBuf theBuffer;