zoukankan      html  css  js  c++  java
  • [转]fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突

    来自--------------------- 
    原文:https://blog.csdn.net/qtbmp/article/details/7273191?utm_source=copy 

    win7 下,安装的VS2008,然后搭配opencv2.3.1运行,报错为:fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突 。通过网上查询,给错的答案大同小异,但是依然有很多朋友按照网上的答案无法解决这个问题,一下是我的解决方案,仅供参考:

    1、原因:win7下的64位系统,在运行程序的时候,需要的DLL必须是64位系统编译的,VS2008也必须在安装的时候,选择了64位编译的支持。如果安装的时候,已经选择了,那么出现该问题的解决办法,安装网上常规的思路即可。既:

           (1)右键项目名,点击属性,弹出项目属性页,找到链接器----高级,修改右侧的目标计算机,选择有X64的那个选项。

            (2)右键项目名,选择清理解决方案,清理完之后选择X64平台编译器,然后重新生成解决方案,便可以调试成功。

    2、如果如果在选择平台的下拉列表里找不到x64,则说明系统没有安装支持64位编译,则按照一下方式安装:

            在控制面板添加删除程序中,选择VS2008,点击卸载,出现修复选项,对VS2008修复,即可重新安装插件,或者直接安装文件VS2008SP1CHSX1512981.iso,重新安装一遍也可以出现如下界面:

    选择图中画红框的选项即可。

    3、如果此时问题依然没有解决,则断定是系统包含的DLL文件是win32下编译的,则,需要把DLL换成64位系统编译的。比如opencv2.3.1,之前编译的就是win32下编译的,则需要重新编译,具体步骤如下:

          (1)、运行CMake2.8,点 configure,在弹出的对话框内选择 Visual Studio 9 2008 win64,这个地方需要注意,很多资料上面在介绍opencv配置的时候,都没有提及64位的选项问题,大家都是默认选择 Visual Studio 9 2008,没有选后面带win64的,导致make出来的文件没法使用。完成后选择“Generate”。   

           (2)、这时候,打开OpenCV.sln,分别在Debug和Release下生成,注意配置管理器里面选择x64平台,不然编译出来的还是不能使用。   

             (3)、编译完成之后,配置后DLL和Lib的路径,就不会再出以上的错误了。

  • 相关阅读:
    Java基础学习07--内部类与常用类
    Java基础学习06--集合
    leetcode124
    Python深度学习笔记09--使用Keras建立循环神经网络
    Python深度学习笔记08--处理文本数据的常用方法
    详解DNS域名解析系统(域名、域名服务器[根、顶级、授权/权限、本地]、域名解析过程[递归与迭代])
    计算机网络之应用层概述(C/S模型与p2p模型)
    计算机网络传输层之TCP拥塞控制(慢开始与拥塞避免、快重传和快恢复)
    计算机网络传输层之TCP流量控制
    计算机网络传输层之TCP可靠传输
  • 原文地址:https://www.cnblogs.com/lyggqm/p/9798053.html
Copyright © 2011-2022 走看看