Hi, I've been exploring Paul D's midi++ library. I'm trying to compile
a test driver roughly equivalent to the miditrace which is
provided. Compilation goes fine, but linking is a problem. I get:

midi++/libmidipp.a(fd_midiport.o)(.text+0x557): In function
`MIDI::FD_MidiPort::list_devices()':
/home/avan/src/ardour-cvs/libs/midi++/fd_midiport.cc:95: undefined
reference to `PathScanner::operator()(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, bool, bool, long)'

So FD_MidiPort::list_devices () has

{
        PathScanner scanner;

        return scanner (*midi_dirpath, *midi_filename_pattern, false, true);
}       

The first two arguments are strings.

The PathScanner is part of libpbd and has the overloaded operator:

vector<string *> *operator() (const string &dirpath,
                                  const string &regexp,
                                  bool match_fullpath = true,
                                  bool return_fullpath = true,
                                  long limit = -1);

which AFAICT should match the call in list_devices(). I'm using 

gcc (GCC) 3.2.1 20021207 (Gentoo Linux 3.2.1-20021207)

and I suspect this may be the problem. Any help would be appreciated.

--ant

Reply via email to