我正在尝试使用Visual Studio 2010编译器在Windows 7 64 Professional 64位上构建Z3定理证明器。我按照README说明进行操作,直到进入“build”目录并点击nmake
。过了一会儿,我得到以下内容:
cl /Fez3.exe /nologo /MD shell/datalog_frontend.obj shell/dimacs_frontend.obj shell/install_tactic.obj shell/main.obj shell/smtlib_frontend.ob
j shell/z3_log_frontend.obj api/api.lib parsers/smt/smtparser.lib tactic/portfolio/portfolio.lib tactic/ufbv/ufbv_tactic.lib tactic/smtlogics/smtlogic
_tactics.lib muz_qe/muz_qe.lib tactic/sls/sls_tactic.lib smt/tactic/smt_tactic.lib tactic/fpa/fpa.lib tactic/bv/bv_tactics.lib smt/user_plugin/user_pl
ugin.lib smt/smt.lib smt/proto_model/proto_model.lib ast/rewriter/bit_blaster/bit_blaster.lib ast/proof_checker/proof_checker.lib ast/macros/macros.li
b ast/pattern/pattern.lib parsers/smt2/smt2parser.lib cmd_context/extra_cmds/extra_cmds.lib cmd_context/cmd_context.lib solver/solver.lib tactic/aig/a
ig_tactic.lib math/subpaving/tactic/subpaving_tactic.lib nlsat/tactic/nlsat_tactic.lib tactic/arith/arith_tactics.lib sat/tactic/sat_tactic.lib tactic
/core/core_tactics.lib ast/normal_forms/normal_forms.lib ast/simplifier/simplifier.lib front_end_params/front_end_params.lib math/euclid/euclid.lib ma
th/grobner/grobner.lib parsers/util/parser_util.lib ast/substitution/substitution.lib tactic/tactic.lib model/model.lib ast/rewriter/rewriter.lib ast/
ast.lib math/subpaving/subpaving.lib math/interval/interval.lib nlsat/nlsat.lib sat/sat.lib math/polynomial/polynomial.lib util/util.lib /link /DEBUG
/MACHINE:X86 /SUBSYSTEM:CONSOLE /INCREMENTAL:NO /STACK:8388608 /OPT:REF /OPT:ICF /TLBID:1 /DYNAMICBASE /NXCOMPAT
shell/datalog_frontend.obj : fatal error LNK1112: Modul-Computertyp "x64" steht in Konflikt mit dem Zielcomputertyp "X86".
NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\cl.EXE"": Rückgabe-Code "0x2"
Stop.
错误消息是德语,不幸的是(爆炸了i18n,我很好地解释了英语并且整个垃圾只会让错误更快),但它大致说明了以下内容:"module machine type 'x64' conflicts with target machine type 'X86'"
我通过git clone https://git01.codeplex.com/z3
获得了代码。关于该做什么的任何提示?
答案 0 :(得分:5)
如果您尝试从x86命令行环境构建x64二进制文件,则通常会发生此错误。
执行以下操作之一:
在64位下构建Z3: a)打开64位Visual Studio命令行窗口。 VS发行版附带一些预先配置的快捷方式 到32位或64位的命令行窗口。 b)使用script \ mk_make.py --x64 -b release_x64形式的命令为Z3配置构建环境。这将创建一个目录release_x64,您可以在其中构建64位版本的Z3。 c)cd release_x64 d)nmake
在32位下构建Z3: a)打开32位VS命令行窗口。 b)使用命令scripts \ mk_make.py -b release_x86配置构建环境。 c)cd release_x86 d)nmake