
Boris Schaeling wrote:
On Fri, 29 Oct 2010 20:30:26 +0200, Jeff Flinn <TriumphSprint2000@hotmail.com> wrote:
Hi Jeff,
[...]Otherwise the following use case fails on Windows to redirect output to a file:
void inherit_test (std::string exe, const args& a, std::string out, std::string err) { boost::iostreams::file_descriptor_sink stdOutFile; boost::iostreams::file_descriptor_sink stdErrFile;
thanks for your feedback and the test case! I think you are right with everything you said. I only think because I can't reproduce the problem. :-/ Not because there is no problem but because I get a linker error: No single method of boost::iostreams::file_descriptor_sink is found. My boost_iostreams-vc90-mt-gd-1_43.dll indeed provides only boost::iostreams::file_descriptor but neither _sink nor _source.
I can't find any hint in the Boost.Iostreams documentation what I have to do to build these classes, too (Boost 1.43 and VS2008). Everything works fine on my Linux machine though (and your bug report is of course Windows-specific). How did you build Boost.Iostreams?
I'm using boost 1.44. The complete command line(s) that we use to build static boost libs on windows with MSVC8 are: bjam link=static runtime-link=static debug -sZLIB_SOURCE=F:\boost\ZLib-1.2.5 stage bjam define=_SECURE_SCL=0 link=static runtime-link=static release -sZLIB_SOURCE=F:\boost\ZLib-1.2.5 stage The zlib stuff shouldn't matter. And I've used the following include: #include <boost/iostreams/device/file_descriptor.hpp> Thanks, Jeff