代码之家  ›  专栏  ›  技术社区  ›  4am

如何使用“-fPIC”标志重新编译ntl和gmp库,使HELib成为共享库,以及未定义对func的引用(std::ostream&)错误

  •  0
  • 4am  · 技术社区  · 7 年前

    the Image for nm -CD /usr/local/lib libfhe.so

    /usr/bin/ld:/usr/local/lib/libntl.a(FFT.o):在创建共享对象时,不能使用针对“.rodata.str1.8”的重新定位R_X86_64_32;用-fPIC重新编译
    /usr/local/lib/libntl.a:添加符号时出错:错误值

    有人建议点击帖子 here

    我不知道该怎么做。

    我现在可以在以下情况下构建共享库: ./configure --enable-shared
    ./configure SHARED=on

    完成直升机的安装后。我运行示例代码时出错。 click to see makefile

    错误:

    g++-g-O2-std=c++11-pthread-DFHE_THREADS-DFHE_BOOT_THREADS-DFHE_DCRT_THREADS-o Test_General_x Test_General.cpp-L/usr/local/lib-lntl-lgmp-lm-lfhe /usr/local/lib/libfhe.so:未定义对的引用 write_raw_int(std::ostream&, long, long)' /usr/local/lib/libfhe.so: undefined reference to /usr/local/lib/libfhe.so:未定义对的引用 void write_raw_vector<long>(std::ostream&, std::vector<long, std::allocator<long> > const&)' /usr/local/lib/libfhe.so: undefined reference to writeEyeCatcher(标准::ostream&,字符常量*) /usr/local/lib/libfhe.so:未定义对的引用 write_raw_xdouble(std::ostream&, NTL::xdouble)' /usr/local/lib/libfhe.so: undefined reference to void read_raw_vector<long>(std::istream&, std::vector<long, std::allocator<long> >&)' /usr/local/lib/libfhe.so: undefined reference to readEyeCatcher(标准::istream&,字符常量*)' /usr/local/lib/libfhe.so:未定义对的引用 read_raw_int(std::istream&, long)' /usr/local/lib/libfhe.so: undefined reference to /usr/local/lib/libfhe.so:未定义对的引用 write_raw_ZZ(std::ostream&, NTL::ZZ const&)' /usr/local/lib/libfhe.so: undefined reference to 写入“矢量长(标准::ostream&,ntl::矢量常量&,长)”命令 collect2:错误:ld返回了1个退出状态 Makefile:179:目标“Test_General_x”的配方失败

    1 回复  |  直到 7 年前
        1
  •  0
  •   4am    7 年前

    推荐文章