Number Theory Library (NTL) を使用して調査を行おうとしています。C++ランダムライブラリ(明らかにg ++には含まれていません)を使用する必要があることに気付くまで、g ++コンパイラを使用していました。そのため、次のパラメーターを使用して(出力付きで)clang ++でコンパイルすることに切り替えました。ランダムライブラリを含めない場合、g ++で動作します(ただし、明らかに一部の機能には必要です)。
clang++ -Wall -O3 -std=c++11 -stdlib=libc++ -c -o Multimap.o Multimap.cpp
clang++ -Wall -O3 -std=c++11 -stdlib=libc++ -lgmpxx -lgmp -lntl -lm main.cpp Multimap.o -o ggh
Undefined symbols for architecture x86_64:
"std::basic_ios<char, std::char_traits<char> >::operator!() const", referenced from:
std::istream& NTL::operator>><NTL::ZZ_p>(std::istream&, NTL::Vec<NTL::ZZ_p>&) in libntl.a(ZZ_pX.o)
NTL::operator>>(std::istream&, NTL::ZZ&) in libntl.a(ZZ.o)
std::istream& NTL::operator>><NTL::ZZ>(std::istream&, NTL::Vec<NTL::ZZ>&) in libntl.a(ZZX.o)
std::istream& NTL::operator>><NTL::zz_p>(std::istream&, NTL::Vec<NTL::zz_p>&) in libntl.a(lzz_pX.o)
"std::istream::get()", referenced from:
std::istream& NTL::operator>><NTL::ZZ_p>(std::istream&, NTL::Vec<NTL::ZZ_p>&) in libntl.a(ZZ_pX.o)
NTL::SkipWhiteSpace(std::istream&) in libntl.a(tools.o)
NTL::operator>>(std::istream&, NTL::ZZ&) in libntl.a(ZZ.o)
std::istream& NTL::operator>><NTL::ZZ>(std::istream&, NTL::Vec<NTL::ZZ>&) in libntl.a(ZZX.o)
std::istream& NTL::operator>><NTL::zz_p>(std::istream&, NTL::Vec<NTL::zz_p>&) in libntl.a(lzz_pX.o)
"std::istream::peek()", referenced from:
std::istream& NTL::operator>><NTL::ZZ_p>(std::istream&, NTL::Vec<NTL::ZZ_p>&) in libntl.a(ZZ_pX.o)
NTL::SkipWhiteSpace(std::istream&) in libntl.a(tools.o)
NTL::operator>>(std::istream&, NTL::ZZ&) in libntl.a(ZZ.o)
std::istream& NTL::operator>><NTL::ZZ>(std::istream&, NTL::Vec<NTL::ZZ>&) in libntl.a(ZZX.o)
std::istream& NTL::operator>><NTL::zz_p>(std::istream&, NTL::Vec<NTL::zz_p>&) in libntl.a(lzz_pX.o)
"std::ostream::operator<<(long)", referenced from:
NTL::PrintTime(std::ostream&, double) in libntl.a(tools.o)
"std::ios_base::Init::Init()", referenced from:
__GLOBAL__I__ZN3NTL14BlockConstructEPNS_4ZZ_pEl in libntl.a(vec_ZZ_p.o)
__GLOBAL__I__ZN3NTL5ZZ_pX4zeroEv in libntl.a(ZZ_pX.o)
__GLOBAL__I__ZN3NTL10ZZ_pEInfoTC2ERKNS_5ZZ_pXE in libntl.a(ZZ_pE.o)
__GLOBAL__I__ZN3NTL9ZZ_pInfoTC2ERKNS_2ZZE in libntl.a(ZZ_p.o)
__GLOBAL__I__ntl_abort_cxx_callback in libntl.a(tools.o)
__GLOBAL__I__ZN3NTL2ZZ4zeroEv in libntl.a(ZZ.o)
__GLOBAL__I__ZN3NTL9FFTTablesE in libntl.a(FFT.o)
...
"std::ios_base::Init::~Init()", referenced from:
___tcf_4 in libntl.a(vec_ZZ_p.o)
___tcf_16 in libntl.a(ZZ_pX.o)
___tcf_1 in libntl.a(ZZ_pE.o)
___tcf_3 in libntl.a(ZZ_p.o)
___tcf_0 in libntl.a(tools.o)
___tcf_25 in libntl.a(ZZ.o)
___tcf_4 in libntl.a(FFT.o)
...
"std::cerr", referenced from:
NTL::Error(char const*) in libntl.a(tools.o)
NTL::IntValToChar(long) in libntl.a(tools.o)
"std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
std::ostream& NTL::operator<<<NTL::ZZ_p>(std::ostream&, NTL::Vec<NTL::ZZ_p> const&) in libntl.a(ZZ_pX.o)
NTL::PrintTime(std::ostream&, double) in libntl.a(tools.o)
NTL::Error(char const*) in libntl.a(tools.o)
NTL::IntValToChar(long) in libntl.a(tools.o)
NTL::PrintDigits(std::ostream&, long, long) in libntl.a(ZZ.o)
NTL::operator<<(std::ostream&, NTL::ZZ const&) in libntl.a(ZZ.o)
std::ostream& NTL::operator<<<NTL::ZZ>(std::ostream&, NTL::Vec<NTL::ZZ> const&) in libntl.a(ZZX.o)
...
"std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)", referenced from:
std::ostream& NTL::operator<<<NTL::ZZ_p>(std::ostream&, NTL::Vec<NTL::ZZ_p> const&) in libntl.a(ZZ_pX.o)
NTL::PrintDigits(std::ostream&, long, long) in libntl.a(ZZ.o)
std::ostream& NTL::operator<<<NTL::ZZ>(std::ostream&, NTL::Vec<NTL::ZZ> const&) in libntl.a(ZZX.o)
std::ostream& NTL::operator<<<NTL::zz_p>(std::ostream&, NTL::Vec<NTL::zz_p> const&) in libntl.a(lzz_pX.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)