g ++:"没有这样的文件或目录"

时间:2017-03-12 12:38:45

标签: c++ cmake g++

我正在尝试为格子加密安装一个库,它被称为NFLlib: https://github.com/quarkslab/NFLlib

我在桌面下载并打开它,然后按照README中的命令 - 安装步骤:

$> mkdir _build
$> cd _build
$> cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/nfllib
$> make
$> make test
$> make install

运行make test后,我遇到了这个错误:

The following tests FAILED:
                  5 - build_nfl_add8_60_uint32_t (Failed)
                  6 - run_nfl_add8_60_uint32_t (Not Run)
                  7 - build_nfl_sub8_60_uint32_t (Failed)
                  8 - run_nfl_sub8_60_uint32_t (Not Run)
                  9 - build_nfl_mul8_60_uint32_t (Failed)
                 10 - run_nfl_mul8_60_uint32_t (Not Run)
                 11 - build_nfl_eq8_60_uint32_t (Failed)
                 12 - run_nfl_eq8_60_uint32_t (Not Run)
                 13 - build_nfl_neq8_60_uint32_t (Failed)
                 14 - run_nfl_neq8_60_uint32_t (Not Run)
                 15 - build_nfl_stream8_60_uint32_t (Failed)
                 16 - run_nfl_stream8_60_uint32_t (Not Run)
                 17 - build_poly_p8_60_uint32_t (Failed)
                 18 - run_poly_p8_60_uint32_t (Not Run)
                 19 - build_poly_set8_60_uint32_t (Failed)
                 20 - run_poly_set8_60_uint32_t (Not Run)
                 21 - build_poly_mpz8_60_uint32_t (Failed)
                 22 - run_poly_mpz8_60_uint32_t (Not Run)
                 23 - build_poly_serialize_manually8_60_uint32_t (Failed)
                 24 - run_poly_serialize_manually8_60_uint32_t (Not Run)
                 29 - build_nfl_add128_14_uint16_t (Failed)
                 30 - run_nfl_add128_14_uint16_t (Not Run)
                 31 - build_nfl_sub128_14_uint16_t (Failed)
                 32 - run_nfl_sub128_14_uint16_t (Not Run)
                 33 - build_nfl_mul128_14_uint16_t (Failed)
                 34 - run_nfl_mul128_14_uint16_t (Not Run)
                 35 - build_nfl_eq128_14_uint16_t (Failed)
                 36 - run_nfl_eq128_14_uint16_t (Not Run)
                 37 - build_nfl_neq128_14_uint16_t (Failed)
                 38 - run_nfl_neq128_14_uint16_t (Not Run)
                 39 - build_nfl_stream128_14_uint16_t (Failed)
                 40 - run_nfl_stream128_14_uint16_t (Not Run)
                 41 - build_poly_p128_14_uint16_t (Failed)
                 42 - run_poly_p128_14_uint16_t (Not Run)
                 43 - build_poly_set128_14_uint16_t (Failed)
                 44 - run_poly_set128_14_uint16_t (Not Run)
                 45 - build_poly_mpz128_14_uint16_t (Failed)
                 46 - run_poly_mpz128_14_uint16_t (Not Run)
                 47 - build_poly_serialize_manually128_14_uint16_t (Failed)
                 48 - run_poly_serialize_manually128_14_uint16_t (Not Run)
                 53 - build_nfl_add1024_60_uint32_t (Failed)
                 54 - run_nfl_add1024_60_uint32_t (Not Run)
                 55 - build_nfl_sub1024_60_uint32_t (Failed)
                 56 - run_nfl_sub1024_60_uint32_t (Not Run)
                 57 - build_nfl_mul1024_60_uint32_t (Failed)
                 58 - run_nfl_mul1024_60_uint32_t (Not Run)
                 59 - build_nfl_eq1024_60_uint32_t (Failed)
                 60 - run_nfl_eq1024_60_uint32_t (Not Run)
                 61 - build_nfl_neq1024_60_uint32_t (Failed)
                 62 - run_nfl_neq1024_60_uint32_t (Not Run)
                 63 - build_nfl_stream1024_60_uint32_t (Failed)
                 64 - run_nfl_stream1024_60_uint32_t (Not Run)
                 65 - build_poly_p1024_60_uint32_t (Failed)
                 66 - run_poly_p1024_60_uint32_t (Not Run)
                 67 - build_poly_set1024_60_uint32_t (Failed)
                 68 - run_poly_set1024_60_uint32_t (Not Run)
                 69 - build_poly_mpz1024_60_uint32_t (Failed)
                 70 - run_poly_mpz1024_60_uint32_t (Not Run)
                 71 - build_poly_serialize_manually1024_60_uint32_t (Failed)
                 72 - run_poly_serialize_manually1024_60_uint32_t (Not Run)
                 77 - build_nfl_add8192_124_uint64_t (Failed)
                 78 - run_nfl_add8192_124_uint64_t (Not Run)
                 79 - build_nfl_sub8192_124_uint64_t (Failed)
                 80 - run_nfl_sub8192_124_uint64_t (Not Run)
                 81 - build_nfl_mul8192_124_uint64_t (Failed)
                 82 - run_nfl_mul8192_124_uint64_t (Not Run)
                 83 - build_nfl_eq8192_124_uint64_t (Failed)
                 84 - run_nfl_eq8192_124_uint64_t (Not Run)
                 85 - build_nfl_neq8192_124_uint64_t (Failed)
                 86 - run_nfl_neq8192_124_uint64_t (Not Run)
                 87 - build_nfl_stream8192_124_uint64_t (Failed)
                 88 - run_nfl_stream8192_124_uint64_t (Not Run)
                 89 - build_poly_p8192_124_uint64_t (Failed)
                 90 - run_poly_p8192_124_uint64_t (Not Run)
                 91 - build_poly_set8192_124_uint64_t (Failed)
                 92 - run_poly_set8192_124_uint64_t (Not Run)
                 93 - build_poly_mpz8192_124_uint64_t (Failed)
                 94 - run_poly_mpz8192_124_uint64_t (Not Run)
                 95 - build_poly_serialize_manually8192_124_uint64_t (Failed)
                 96 - run_poly_serialize_manually8192_124_uint64_t (Not Run)
                101 - build_nfl_add1048576_124_uint64_t (Failed)
                102 - run_nfl_add1048576_124_uint64_t (Not Run)
                103 - build_nfl_sub1048576_124_uint64_t (Failed)
                104 - run_nfl_sub1048576_124_uint64_t (Not Run)
                105 - build_nfl_mul1048576_124_uint64_t (Failed)
                106 - run_nfl_mul1048576_124_uint64_t (Not Run)
                107 - build_nfl_eq1048576_124_uint64_t (Failed)
                108 - run_nfl_eq1048576_124_uint64_t (Not Run)
                109 - build_nfl_neq1048576_124_uint64_t (Failed)
                110 - run_nfl_neq1048576_124_uint64_t (Not Run)
                111 - build_nfl_stream1048576_124_uint64_t (Failed)
                112 - run_nfl_stream1048576_124_uint64_t (Not Run)
                113 - build_poly_p1048576_124_uint64_t (Failed)
                114 - run_poly_p1048576_124_uint64_t (Not Run)
                115 - build_poly_set1048576_124_uint64_t (Failed)
                116 - run_poly_set1048576_124_uint64_t (Not Run)
                117 - build_poly_mpz1048576_124_uint64_t (Failed)
                118 - run_poly_mpz1048576_124_uint64_t (Not Run)
                119 - build_poly_serialize_manually1048576_124_uint64_t (Failed)
                120 - run_poly_serialize_manually1048576_124_uint64_t (Not Run)
Errors while running CTest
make: *** [test] Error 8

我认为这些测试失败了,因为我为虚拟机分配的内存不足。因此,我忽略了它们并继续。

接下来,我使用make install命令完成了安装,我在下面输入以编译演示:

g++ -Ilib -lnfllib_static.a -std=c++11 nfllib_demo_main_op.cpp

这次显示以下错误:

In file included from nfllib_demo_main_op.cpp:1:0:
nfllib_demo_main.hpp:4:19: fatal error: nfl.hpp: No such file or directory
 #include "nfl.hpp"

我无法理解此错误的原因,因为您可以从上面的链接中看到标题位于右侧文件夹中。我输入的用于编译演示的命令可能有问题。请原谅我对基本C ++命令的无知。如何完成库的安装并编译演示?

编辑(mindoo的建议):

命令:

g++ -Ilib -lnfllib_static.a -std=c++11 nfllib_demo_main_op.cpp nfl.hpp

结果:

In file included from nfl.hpp:17:0,
                 from nfllib_demo_main.hpp:4,
                 from nfllib_demo_main_op.cpp:1:
nfl/poly.hpp:23:25: fatal error: nfl/debug.hpp: No such file or directory
 #include "nfl/debug.hpp"
                         ^
compilation terminated.
In file included from nfl.hpp:17:0:
nfl/poly.hpp:23:25: fatal error: nfl/debug.hpp: No such file or directory
 #include "nfl/debug.hpp"
                         ^
compilation terminated.

1 个答案:

答案 0 :(得分:-1)

我对库及其安装并不是很好,但我通常使用命令行和g ++进行编译。 你可以试着这样做:

g++ -Ilib -lnfllib_static.a -std=c++11 nfllib_demo_main_op.cpp nfl.hpp

告诉我是否有效