This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Parallel extensions and Boost


Hi,

I am trying to compile a program that uses Boost libraries with GCC's
parallel extensions, but I get linking errors. In particular, if I
compile without the flags "-fopenmp -D_GLIBCXX_PARALLEL", then
everything works fine. However, if I add those two flags, I get the
error below. Actually, to be specific the error appears when I add
-D_GLIBCXX_PARALLEL, -fopenmp by itself does not cause problems. I
suspect the problem comes from the fact that Boost was compiled
without -D_GLIBCXX_PARALLEL. I was wondering if there was a way to
work around this problem, since in this example I don't need the
parallel extensions in the part of the code that uses Boost (in this
case just for command line parsing).

Thanks.
Dmitriy

g++ -I... -O3  witnessed.cpp -o witnessed-openmp -fopenmp
-D_GLIBCXX_PARALLEL -lANN -lboost_program_options
/tmp/ccsxhcEb.o: In function
`boost::program_options::typed_value<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
char>::xparse(boost::any&,
std::__cxx1998::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&) const':
witnessed.cpp:(.text._ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKNSt9__cxx19986vectorISsSaISsEEE[boost::program_options::typed_value<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
char>::xparse(boost::any&,
std::__cxx1998::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&)
const]+0x19): undefined reference to
`boost::program_options::validate(boost::any&,
std::__cxx1998::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&,
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>*, int)'
/tmp/ccsxhcEb.o: In function
`boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int,
char**)':
witnessed.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcEC1EiPPc[boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int,
char**)]+0x50): undefined reference to
`boost::program_options::detail::cmdline::cmdline(std::__cxx1998::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&)'
/tmp/ccsxhcEb.o:(.rodata._ZTVN5boost15program_options11typed_valueISscEE[vtable
for boost::program_options::typed_value<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, char>]+0x30):
undefined reference to
`boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&,
std::__cxx1998::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'
collect2: ld returned 1 exit status
make: *** [witnessed-openmp] Error 1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]