fatal error LNK1112: 模块计算机类型“X64”与目标计算机类型“x86”冲突,已解决。
环境:Windows10 64位 + Visual Studio 2019
其他版本同样适用
模块计算机类型:并不能简单的理解为本机的操作系统位数,而是当前程序的当前平台环境,由你配置的Visual Studio的环境决定,比如给VS配置的是Qt环境,那么你下载安装64位Qt MSVC,然后给VS引入的Qt版本也是这个版本的话,那么模块计算机类型就是x64。
目标计算机类型:就是当前你程序所需要的平台环境的位数,多数出现在编译别人程序或者引用第三方动态库时候出现此问题。然后目标计算类型是x86的话以为着此程序需要32位平台环境。
解决方法:
1. 最基础是请核实配置管理器,是不是同样配置了64位和32位,然后编译执行程序的时候选择的是64位,此情况在VS的顶部选择x86或者win32就可以了。
2. 如果没有x86或者win32选项,请右击解决方案→在项目属性页的顶端,点击配置管理器,然后新建相应的,也就是x86的配置,Debug和Release也得注意。新建好了以后选择x86的配置,在下方属性中配置相应的32位环境。
3. 检查看看自己配置的环境是不是有64位的相关库。比如我这次的原因就是因为编译32位程序的时候安装的Qt是64位的,我电脑里有Qt5.14.3的msvc2017,msvc2015,但是都是64位的。安装了Qt msvc2017_32,配置了一下VS就好了。