I am using Boost program_options library.  I can successfully compile my code under "Release" mode in Xcode, but under "Debug" mode there are some issues with linking.  The compiler says it can't find vtables for some of the program_options stuff (see error messages pasted below).

I have tried to compile my code and Boost with the same architecture (i386 only) and telling the linker to find the debug library with the linker flag

OTHER_LDFLAGS =  -lboost_program_options-d-1_34_1

Can someone help me to figure out why this won't link?  I'm sorry if the information is too general.

Thanks,
Jeremy



  "boost::program_options::validate(boost::any&, __gnu_debug_def::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool*, int)", referenced from:

      boost::program_options::typed_value<bool, char>::xparse(boost::any&, __gnu_debug_def::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) constin ArnoldiVsPower.o

  "boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, __gnu_debug_def::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool) const", referenced from:

      vtable for boost::program_options::typed_value<bool, char>in ArnoldiVsPower.o

      vtable for boost::program_options::typed_value<unsigned long, char>in ArnoldiVsPower.o

      vtable for boost::program_options::typed_value<double, char>in ArnoldiVsPower.o

      vtable for boost::program_options::typed_value<int, char>in ArnoldiVsPower.o

  "boost::program_options::detail::cmdline::cmdline(__gnu_debug_def::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)", referenced from:

      boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char**)in ArnoldiVsPower.o

ld: symbol(s) not found

collect2: ld returned 1 exit status