模块计算机类型“X64”与目标计算机类型“x86”冲突

问题描述:

在X64 平台上开发dll 文件,在生成dll时Vs 2010 出现如下错误 :“fatal error LNK1112: 模块计算机类型“X64”与目标计算机类型“x86”冲突”;


解决方法:

   有两处需要设置:

1、右击该项目,选择属性,在最上面点击 “配置管理器”,新建平台 “x64”,然后把 活动解决方案平台选为X64,点击关闭。

注:这里的“活动解决方案平台”为当前的解决方案指定一套平台(x64或者win32或者自己定义的,解决方案平台涉及到环境变量,附加包含路径,编译、链接方式等等设置)。

2、在属性页选择 “链接器” —>“高级”,在里边有一项名为目标计算机,将其改为:MachineX64 (/MACHINE:X64) ,然后点击确定。

重新生成解决方案,问题解决!

注:如果上述方法未成功,右击该项目选择清理解决方案,然后按上边配置重新生成。

如果还有问题,查看项目中是否还有其他 .dll 文件 的上述属性没改,全部改完后重新生成应该就Ok了。。

注:关于X64 平台开发时还要要注意:如果你是在进行64Bit开发,那项目中所引用的 .dll 文件都不能是 32位的 .dll 文件,否则运行会出错。

32Bit 开发也一样,不能引用64Bit的 .dll 文件。

千万注意:如果你原来是win32的,现在新建了一个x64的活动方案,那么在新建的时候一定要记得在“从此处复制设置”选择<空>,否则就会继承Win32的设置,导致很多问题。

 

posted on 2016-12-29 13:36  J.M.Liu  阅读(2465)  评论(0编辑  收藏  举报