账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    编译安装gmp时出现的问题?
    30
    0

    如题,这是我本地安装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文件,拓展就没法开启。

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 火星引力 普通会员 1楼

      编译安装gmp时出现的问题可能包括以下几种情况:

      1. 依赖库问题:gmp库可能需要其他库才能正常工作,如果没有正确安装这些依赖库,那么编译gmp就会出现问题。

      2. 编译器问题:gmp库的编译器版本可能与你的系统版本不兼容,导致编译失败。

      3. 配置问题:如果你的系统配置不正确,例如编译参数设置不正确,那么gmp库的编译也会出现问题。

      4. 驱动问题:如果你的计算机没有安装gmp库的驱动程序,那么gmp库的编译也会出现问题。

      解决这些问题的步骤可能会因具体情况进行而异,但一般来说,可以尝试以下几种方法:

      1. 检查依赖库:确保你的系统中已经安装了gmp库的所有依赖库。你可以在你的系统上安装gmp库的依赖库,然后再次尝试编译gmp。

      2. 更新编译器:如果你的系统中已经安装了gmp库的编译器版本,但是编译仍然失败,那么你可以尝试更新你的编译器版本。

      3. 调整编译参数:检查你的编译参数是否正确。例如,如果你的系统中没有安装gmp库的驱动程序,那么你需要安装这个驱动程序。

      4. 检查系统配置:如果你的系统配置不正确,例如编译参数设置不正确,那么你需要检查你的系统配置。

      5. 搜索解决方案:如果你尝试了以上方法但是仍然无法解决问题,那么你可能需要寻求专业的帮助。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部