Je suis en train de compiler un programme deerreur symboles Undefined liés à "__mpf_struct" pour OS X 10.10.2
https://github.com/davidsd/sdpb
avec gcc-4.9, boost 1.57.0, gmp-6.0.0a, et mpfr-3.1.2 sur OS X 10.10.2, mais je continue d'obtenir des erreurs apparemment liées aux paquets gmp et mpfr. Je connais quelqu'un qui a compilé avec succès le 10.9.5. Quelqu'un peut-il suggérer une solution?
symboles non définis pour l'architecture x86_64: "opérateur < < (std :: basic_ostream> &, __mpf_struct const *)", fait référence à partir de:
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
...
« opérateur >> (std :: basic_istream> &, __mpf_struct *) », référencé à partir de:
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: symbole (s) n ot trouvé pour l'architecture x86_64 collect2: Erreur: ld retourné 1 état de sortie make: *** [sdpb] Erreur 1
Pouvez-vous publier les commandes de compilation/liaison utilisées? – sehe
GMP a-t-il été compilé avec '--enable-cxx'? On dirait que l'API C++ n'est pas disponible. –
J'ai recompilé GMP avec --enable-cxx et maintenant le programme s'installe sans erreurs. Merci! – Ying