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的路径,就不会再出以上的错误了。

  • 相关阅读:
    现身说法“好奇心害死人啊”
    代码错误集合(全是低级错误,欢迎高手前来指教)
    Return from TAOKEE
    泡了DOUBAN一个下午,思考中。。。
    买了两本书
    PDFBox,PDF文件处理
    数据库营销,DM杂志
    一个JS写的时间选择显示的控件,源文件下载
    WEB2.0新想法,让明星还有你无所遁行,让你我都做“狗仔队”
    hdu 1237 简单计算器 (栈的简单应用)
  • 原文地址:https://www.cnblogs.com/lyggqm/p/9798053.html
Copyright © 2011-2022 走看看