编译安装gmp时出现的问题?

如题,这是我本地安装gmp拓展时出现的问题

==================
All 3 tests passed
==================
Making check in cxx
/Library/Developer/CommandLineTools/usr/bin/make  t-binary t-cast t-cxx11 t-headers t-iostream t-istream t-locale t-misc t-mix t-ops t-ops2 t-ops3 t-ostream t-prec t-ternary t-unary t-do-exceptions-work-at-all-with-this-compiler t-assign t-constr t-rand
g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../tests    -O2 -pedantic -fomit-frame-pointer -m64 -mtune=corei7 -march=corei7 -c -o t-binary.o t-binary.cc
/bin/sh ../../libtool --tag=CXX   --mode=link g++  -O2 -pedantic -fomit-frame-pointer -m64 -mtune=corei7 -march=corei7   -o t-binary t-binary.o -L../../.libs ../../tests/libtests.la ../../libgmpxx.la ../../libgmp.la -lm 
libtool: link: g++ -O2 -pedantic -fomit-frame-pointer -m64 -mtune=corei7 -march=corei7 -o .libs/t-binary t-binary.o -Wl,-bind_at_load  -L../../.libs ../../tests/.libs/libtests.a ../../.libs/libgmpxx.dylib /Applications/MAMP/bin/php/php7.1.12/bin/gmp/.libs/libgmp.dylib ../../.libs/libgmp.dylib -lm
g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../tests    -O2 -pedantic -fomit-frame-pointer -m64 -mtune=corei7 -march=corei7 -c -o t-cast.o t-cast.cc
In file included from t-cast.cc:20:
In file included from ../../gmp.h:51:
/Library/Developer/CommandLineTools/usr/include/c++/v1/cstddef:49:9: error: no member named 'ptrdiff_t' in the global namespace
using ::ptrdiff_t;
      ~~^
In file included from t-cast.cc:21:
In file included from ../../gmpxx.h:29:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/algorithm:643:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/memory:650:
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:496:13: error: unknown type name 'ptrdiff_t'
    typedef ptrdiff_t difference_type;
            ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:529:56: error: unknown type name 'ptrdiff_t'
template<class _Category, class _Tp, class _Distance = ptrdiff_t,
                                                       ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:881:66: error: unknown type name 'ptrdiff_t'
          class _Traits = char_traits<_CharT>, class _Distance = ptrdiff_t>
                                                                 ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:881:54: error: template parameter missing a default argument
          class _Traits = char_traits<_CharT>, class _Distance = ptrdiff_t>
                                                     ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:881:27: note: previous default template argument defined here
          class _Traits = char_traits<_CharT>, class _Distance = ptrdiff_t>
                          ^
In file included from t-cast.cc:21:
In file included from ../../gmpxx.h:29:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/algorithm:643:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/memory:658:
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1121:20: error: unknown type name 'ptrdiff_t'
    _Tp* fetch_add(ptrdiff_t __op, memory_order __m = memory_order_seq_cst)
                   ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1125:20: error: unknown type name 'ptrdiff_t'
    _Tp* fetch_add(ptrdiff_t __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
                   ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1128:20: error: unknown type name 'ptrdiff_t'
    _Tp* fetch_sub(ptrdiff_t __op, memory_order __m = memory_order_seq_cst)
                   ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1132:20: error: unknown type name 'ptrdiff_t'
    _Tp* fetch_sub(ptrdiff_t __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
                   ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1152:21: error: unknown type name 'ptrdiff_t'
    _Tp* operator+=(ptrdiff_t __op) volatile _NOEXCEPT {return fetch_add(__op) + __op;}
                    ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1154:21: error: unknown type name 'ptrdiff_t'
    _Tp* operator+=(ptrdiff_t __op) _NOEXCEPT          {return fetch_add(__op) + __op;}
                    ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1156:21: error: unknown type name 'ptrdiff_t'
    _Tp* operator-=(ptrdiff_t __op) volatile _NOEXCEPT {return fetch_sub(__op) - __op;}
                    ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1158:21: error: unknown type name 'ptrdiff_t'
    _Tp* operator-=(ptrdiff_t __op) _NOEXCEPT          {return fetch_sub(__op) - __op;}
                    ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1421:46: error: unknown type name 'ptrdiff_t'
atomic_fetch_add(volatile atomic<_Tp*>* __o, ptrdiff_t __op) _NOEXCEPT
                                             ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1429:37: error: unknown type name 'ptrdiff_t'
atomic_fetch_add(atomic<_Tp*>* __o, ptrdiff_t __op) _NOEXCEPT
                                    ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1463:55: error: unknown type name 'ptrdiff_t'
atomic_fetch_add_explicit(volatile atomic<_Tp*>* __o, ptrdiff_t __op,
                                                      ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1472:46: error: unknown type name 'ptrdiff_t'
atomic_fetch_add_explicit(atomic<_Tp*>* __o, ptrdiff_t __op, memory_order __m) _NOEXCEPT
                                             ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1506:46: error: unknown type name 'ptrdiff_t'
atomic_fetch_sub(volatile atomic<_Tp*>* __o, ptrdiff_t __op) _NOEXCEPT
                                             ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/atomic:1514:37: error: unknown type name 'ptrdiff_t'
atomic_fetch_sub(atomic<_Tp*>* __o, ptrdiff_t __op) _NOEXCEPT
                                    ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[4]: *** [t-cast.o] Error 1
make[3]: *** [check-am] Error 2
make[2]: *** [check-recursive] Error 1
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2

这是执行make check时出现的问题。 是缺少什么东西么??请大神赐教!我的环境是MAMP mac集成环境

编译不成功,得不到gmp.so文件,拓展就没法开启。

阅读 2.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题