Hi,

I can't seem to get file_descriptor* family of classes to work. I've reduced my code to the following (actually I want to write to sockets):

#include <boost/iostreams/device/file_descriptor.hpp>
#include <boost/iostreams/stream.hpp>

namespace io = boost::iostreams;

int main(int argc, char *argv[]) {
typedef io::stream<io::file_descriptor_sink> ofdstream;
ofdstream outstream(1);
}

Here's what happens when I try to compile (under Mac OS X):

erato:bioinf jergosh$ g++ -I/usr/local/boost_1_39_0 -o fdboost fdboost.cpp
Undefined symbols:
  "boost::iostreams::file_descriptor::file_descriptor(int, bool)", referenced from:
      boost::iostreams::file_descriptor_sink::file_descriptor_sink(int, bool)in ccuxOs9P.o
  "boost::iostreams::file_descriptor::close()", referenced from:
      void boost::iostreams::detail::close_impl<boost::iostreams::closable_tag>::close<boost::iostreams::file_descriptor_sink>(boost::iostreams::file_descriptor_sink&, std::_Ios_Openmode)in ccuxOs9P.o
  "boost::iostreams::file_descriptor::write(char const*, int)", referenced from:
      int boost::iostreams::detail::write_device_impl<boost::iostreams::output>::write<boost::iostreams::file_descriptor_sink>(boost::iostreams::file_descriptor_sink&, boost::iostreams::char_type_of<boost::iostreams::file_descriptor_sink>::type const*, int)in ccuxOs9P.o
  "boost::iostreams::file_descriptor::seek(long long, std::_Ios_Seekdir)", referenced from:
      std::fpos<__mbstate_t> boost::iostreams::detail::seek_device_impl<boost::iostreams::any_tag>::seek<boost::iostreams::file_descriptor_sink>(boost::iostreams::file_descriptor_sink&, long long, std::_Ios_Seekdir, std::_Ios_Openmode)in ccuxOs9P.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

What am I missing here?

TIA,
Greg


-- 
Greg Slodkowicz
Building 208, Room 012a
Center for Biological Sequence Analysis
Department of Systems Biology
Technical University of Denmark