使用Visual Studio编译Z3遇LNK1112错误:x86与x64架构冲突求解决
解决Windows 10 x64下Visual Studio 2019编译Z3的LNK1112错误
错误原因
你当前调用的是32位版本的MSVC编译器(路径显示为HostX86\x86\cl.EXE),但链接阶段明确指定了64位目标平台(/MACHINE:X64),导致编译生成的x86目标文件与64位编译要求冲突,触发LNK1112错误。
解决步骤
- 启动64位VS命令提示符:打开开始菜单,找到Visual Studio 2019文件夹,选择x64 Native Tools Command Prompt for VS 2019,不要使用普通命令提示符或32位版本的工具窗口。
- 清理旧编译产物:进入Z3的build目录,执行命令
nmake clean,彻底清除之前生成的x86目标文件和中间缓存。 - 重新执行编译配置:回到Z3根目录,严格按照README文档重新运行配置命令(若使用
configure.py,需确保添加--x64参数;若使用CMake,需指定64位生成器)。 - 重新编译:再次进入build目录,执行
nmake命令完成编译。
内容的提问来源于stack exchange,提问作者Lynn
相关产品推荐
相关产品推荐

