如何解决 make: None: Command not found 问题?

时间:2020-12-27 23:44:33

标签: c++ scala installation makefile z3

我无法理解此错误。

make: None: Command not found
make: *** [Makefile:3879: api/api_commands.o] Error 127

我已尝试查找,但找不到特定问题 make: None: 的答案。 完整的问题和错误消息是 here 以供说明。

对此的帮助将不胜感激。

更新

make 文件包含以下内容(第 3879 行与其余部分分开以进行说明):

...

includes_65 = -I../src/tactic/portfolio -I../src/tactic/smtlogics -I../src/ackermannization -I../src/model -I../src/ast/rewriter -I../src/ast -I../src/util -I../src/math/polynomial -I../src/math/automata -I../src/solver -I../src/tactic -I../src/ast/proofs -I../src/sat/sat_solver -I../src/tactic/core -I../src/ast/macros -I../src/ast/normal_forms -I../src/tactic/aig -I../src/tactic/bv -I../src/ast/rewriter/bit_blaster -I../src/tactic/arith -I../src/sat -I../src/sat/tactic -I../src/nlsat/tactic -I../src/nlsat -I../src/smt/tactic -I../src/smt -I../src/cmd_context -I../src/interp -I../src/smt/proto_model -I../src/smt/params -I../src/ast/pattern -I../src/parsers/smt2 -I../src/parsers/util -I../src/ast/substitution -I../src/math/grobner -I../src/math/euclid -I../src/math/simplex -I../src/ast/fpa -I../src/util/lp -I../src/muz/fp -I../src/muz/base -I../src/qe -I../src/muz/pdr -I../src/muz/transforms -I../src/math/hilbert -I../src/muz/dataflow -I../src/muz/clp -I../src/muz/tab -I../src/muz/rel -I../src/muz/bmc -I../src/muz/duality -I../src/duality -I../src/muz/ddnf -I../src/muz/spacer -I../src/tactic/nlsat_smt -I../src/tactic/ufbv -I../src/tactic/fpa -I../src/tactic/sls -I../src/math/subpaving/tactic -I../src/math/subpaving -I../src/math/interval -I../src/math/realclosure -I../src/opt -I../src
api/z3_macros.h.node: ../src/api/z3_macros.h
    @echo done > api/z3_macros.h.node
api/z3_api.h.node: ../src/api/z3_api.h
    @echo done > api/z3_api.h.node
...
api/api_ast_vector$(OBJ_EXT): ../src/api/api_ast_vector.cpp api/z3.h.node api/api_log_macros.h.node api/api_context.h.node api/api_ast_vector.h.node ast/ast_translation.h.node ast/ast_smt2_pp.h.node
    @echo src/api/api_ast_vector.cpp
    @$(CXX) $(CXXFLAGS) $(includes_65) $(CXX_OUT_FLAG)api/api_ast_vector$(OBJ_EXT) ../src/api/api_ast_vector.cpp
api/api_bv$(OBJ_EXT): ../src/api/api_bv.cpp api/z3.h.node api/api_log_macros.h.node api/api_context.h.node api/api_util.h.node ast/bv_decl_plugin.h.node
    @echo src/api/api_bv.cpp
    @$(CXX) $(CXXFLAGS) $(includes_65) $(CXX_OUT_FLAG)api/api_bv$(OBJ_EXT) ../src/api/api_bv.cpp
api/z3_replayer.h.node: ../src/api/z3_replayer.h api/z3.h.node util/z3_exception.h.node
    @echo done > api/z3_replayer.h.node
api/api_commands$(OBJ_EXT): ../src/api/api_commands.cpp api/z3.h.node api/z3_replayer.h.node
    @echo src/api/api_commands.cpp

    @$(CXX) $(CXXFLAGS) $(includes_65) $(CXX_OUT_FLAG)api/api_commands$(OBJ_EXT) ../src/api/api_commands.cpp

api/api_config_params$(OBJ_EXT): ../src/api/api_config_params.cpp api/z3.h.node 
...

由于 make 文件中的前几行格式相似并且没有引起任何错误,因此问题肯定出在 api_commands.cpp 文件中。我查看了这个文件,但我无法完全理解这段代码中发生了什么,所以我无法解释 None 变量的创建位置。

有问题的 api_commands.cpp 文件有 4856 行长,但它由几种格式的函数组成

void exec_Z3_params_set_bool(z3_replayer & in) {
  Z3_params_set_bool(
    reinterpret_cast<Z3_context>(in.get_obj(0)),
    reinterpret_cast<Z3_params>(in.get_obj(1)),
    in.get_symbol(2),
    in.get_bool(3));
}

和一个函数 void register_z3_replayer_cmds(z3_replayer & in) 包含诸如

之类的行
in.register_cmd(16, exec_Z3_params_set_bool, "Z3_params_set_bool");

如果有人熟悉此类或类似的代码并且知道此文件如何创建 None 变量,我们将不胜感激。

0 个答案:

没有答案