Я пытаюсь скомпилировать программу изUndefined символы ошибки, связанные с "__mpf_struct" для OS X 10.10.2
https://github.com/davidsd/sdpb
с GCC-4.9, импульс 1.57.0, ГМФ-6.0.0a, и mpfr-3.1.2 на OS X 10.10.2, но я продолжаю получать ошибки, казалось бы, связанные с пакетами gmp и mpfr. Я знаю кого-то, кто успешно скомпилировал 10.9.5. Может ли кто-нибудь предложить исправить?
неопределенные символы для архитектуры x86_64: "Оператор < < (станд :: basic_ostream> &, __mpf_struct сопз *)", ссылочные от:
operator<<(std::basic_ostream<char, std::char_traits<char> >&, Matrix const&) in Matrix.o
operator<<(std::basic_ostream<char, std::char_traits<char> >&, SDPSolverParameters const&) in SDPSolverIO.o
SDPSolver::saveSolution(SDPSolverTerminateReason, boost::filesystem::path const&) in SDPSolverIO.o
std::basic_ostream<char, std::char_traits<char> >& operator<< <__gmp_expr<__mpf_struct [1], __mpf_struct [1]> >(std::basic_ostream<char, std::char_traits<char> >&, std::vector<__gmp_expr<__mpf_struct [1], __mpf_struct [1]>, std::allocator<__gmp_expr<__mpf_struct [1], __mpf_struct [1]> > > const&) in SDPSolverIO.o
void boost::serialization::save<boost::archive::text_oarchive>(boost::archive::text_oarchive&, __gmp_expr<__mpf_struct [1], __mpf_struct [1]> const&, unsigned int) in SDPSolverIO.o
solveSDP(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::path const&, SDPSolverParameters) in main.o
boost::detail::lexical_converter_impl<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, __gmp_expr<__mpf_struct [1], __mpf_struct [1]> >::try_convert(__gmp_expr<__mpf_struct [1], __mpf_struct [1]> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) in main.o
...
«оператора >> (станд :: basic_istream> &, __mpf_struct *)», ссылки из:
void boost::program_options::validate<__gmp_expr<__mpf_struct [1], __mpf_struct [1]>, char>(boost::any&, std::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&, __gmp_expr<__mpf_struct [1], __mpf_struct [1]>*, long) in main.o
LD: символ (ы) п ВЗ найдено для архитектуры x86_64 collect2: ошибка: л.д. возвращается статус 1 выхода марка: *** [sdpb] Ошибка 1
Можете ли вы опубликовать фактические команды компиляции/ссылки? – sehe
Был ли GMP скомпилирован с '--enable-cxx'? Похоже, что C++ API недоступен. –
Я перекомпилировал GMP с --enable-cxx, и теперь программа устанавливается без ошибок. Благодаря! – Ying