zoukankan      html  css  js  c++  java
  • 关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : fatal error

    http://blog.sina.com.cn/s/blog_9015f3230101bbef.html

    关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : fatal error LNK1000/1104等错误解决办法

    LINK : fatal error LNK1104: 无法打开文件“.obj”

    注意opencv的版本!!!!

    由于自己常用Visual Studio 2008/2010 和Opencv平台编程,像 LINK : fatal error LNK1104: 无法打开文件“.obj”LINK : fatal error LNK1104: 无法打开文件“xx.lib”;LINK : fatal error LNK1000: Internal error during Inc...等这样的错误经常遇到。根据自己的经验总结起来如下:

    首先,对于这些错误一般都是由于一些新手对于Visual Studio 2008/2010 和Opencv平台的开发环境不熟悉,在配置环境变量、包含文件、库文件、添加依赖项等没有配置正确导致的。

    一、对于遇到LINK : fatal error LNK1104: 无法打开文件“.obj”LINK : fatal error LNK1104: 无法打开文件“xx.lib”这两类错误,你需要检查你的环境变量、包含文件、库文件、添加依赖项等,看是否配置对了。特别是“添加依赖项”,最容易出错,因为VS2008和VS2010的配置有区别。VS2008中xx.lib之间用空格键;而VS2010用逗号隔开;比如我用的最新的Opencv2.40版本的,在VS2008配置:

    输入附加依赖项:Debug项:opencv_calib3d240d.lib opencv_contrib240d.lib opencv_core240d.lib opencv_features2d240d.lib opencv_flann240d.lib opencv_gpu240d.lib opencv_highgui240d.lib opencv_imgproc240d.lib opencv_legacy240d.lib opencv_ml240d.lib opencv_objdetect240d.lib opencv_ts240d.lib opencv_video240d.lib

    Release项:opencv_calib3d240.lib opencv_contrib240.lib opencv_core240.libopencv_features2d240.lib opencv_flann240.lib opencv_gpu240.lib opencv_highgui240.lib opencv_imgproc240.lib opencv_legacy240.lib opencv_ml240.lib opencv_objdetect240.lib opencv_ts240.lib opencv_video240.lib %(AdditionalDependencies)

    在VS2010下配置:

    输入附加依赖项:Debug项:opencv_calib3d240d.lib;opencv_contrib240d.lib;opencv_core240d.lib;opencv_features2d240d.lib;opencv_flann240d.lib;opencv_gpu240d.lib;opencv_highgui240d.lib;opencv_imgproc240d.lib;opencv_legacy240d.lib;opencv_ml240d.lib;opencv_objdetect240d.lib;opencv_ts240d.lib;opencv_video240d.lib

    Release项:opencv_calib3d240.lib;opencv_contrib240.lib;opencv_core240.lib;opencv_features2d240.lib;opencv_flann240.lib;opencv_gpu240.lib;opencv_highgui240.lib;opencv_imgproc240.lib;opencv_legacy240.lib;opencv_ml240.lib;opencv_objdetect240.lib;opencv_ts240.lib;opencv_video240.lib;%(AdditionalDependencies)

    除此之外,我还要强调的是,无论你用的是WINDOWS XP还是WIN7系统,是32位的还是64位,库文件的配置都是:C:opencvuildx86vc10lib(vs2010的)或者是C:opencvuildx86vc9lib(2008)。而不是C:opencvuildx64vc10lib或者C:opencvuildx64vc9lib;

    对于这个问题,我亲自尝试过很多次,必须是这样,没有为什么。当然必须有个前提就是你的Opencv文件夹必须放在C盘,并且按照这个路径C:opencvuildx86vc10lib(vs2010的)刚好能找到你的Lib库文件。若是D盘,就把路径改为D盘。所以在配置路径时一定要一步步打开文件夹,并检查核实路径,这地方最容易出错。比如你的opencv文件放在了C:programfileopencvuild...或者是C:opencv2.3.1uild....等,或者你的opencv文件夹命名时有大写之母,如:C:OPencvuild.....,编译时就会因为找不到lib文件而出错。对于下面环境变量、包含目录等的有关路径设置,都是这个道理。

    同理对于环境变量的设置也都是:PATH值: C:opencvuildx86vc10in;C:opencvuildcommon bbia32vc10。或者是PATH值: C:opencvuildx86vc9in;C:opencvuildcommon bbia32vc9。无论你用的是WINDOWS XP还是WIN7系统,是32位的还是64位,都是这样。千万不能因为你的是WIN7 64位的系统,而改成了C:opencvuildx64vc9in;C:opencvuildcommon bbintel64vc9,这样会导致编译无法连接。

    对于环境变量,我还要强调的是:在你每次更改完PATH值后,一定要记得重启电脑,重启了以后,更改的值才有效。

    包含目录:C:opencvuildincludeopencv;C:opencvuildincludeopencv2;C:opencvuildinclude;$(IncludePath)

     

    二、对于LINK : fatal error LNK1000: Internal error during IncrBuildImage错误:

    当在win7下安装Visual stdio 2008 sp1时会遇到。写法度是碰到LINK : fatal error LNK1000: Internal error during IncrBuildImage错误,搜了一下发明是vs的bug,须要打补丁。

    解决办法

    1、去微软网站下载KB948127补丁()并安装。

    并不是每小我都能很荣幸地安装上该补丁,因为我在安装的时辰碰到了下列题目:此策画机上没有安装本软件更新支撑的产品,单击“作废”退出安装法度。如下图所示:

    关于在Visual <wbr>Studio <wbr>2008/2010 <wbr>和Opencv平台下出现LINK <wbr>: <wbr>fatal <wbr>error

    2、和我一样不幸安装失败的还可以选择如下手工来改工程设置。

    选择项目(Project)->属性(Property)->链接器(Linker)->常规(General)下面的“启用增量链接(Enable Incremental Linking)”,将“是(/INCREMENTAL)”改为“否(/INCREMENTAL:NO)”。不过这又引入了别的一个警告:FormatCom.obj : warning LNK4075: 忽视“/EDITANDCONTINUE”(因为“/INCREMENTAL:NO”规范)。

    选择项目,属性(Property pages)->设备属性(Configuration Properties) ->C/C++,批改“调试信息格局(Debug Information Format)”为“法度数据库(Program Database(/Zi))”即可。

    3、若是你命运不好又安装失败,并且又感觉更改工程设置不成靠,可以去下载sp1补丁包安装。

    我安装了sp1补丁包后今朝没有再呈现error LNK1000的错误。

    三、若是遇到无法预编译头文件的错误,这个比较好办,你只需要把项目---属性----配置属性---C/C++---预编译头里面的下拉菜单选项改为:不使用预编译头,就好了。关于在Visual <wbr>Studio <wbr>2008/2010 <wbr>和Opencv平台下出现LINK <wbr>: <wbr>fatal <wbr>error

  • 相关阅读:
    JAVA 基础
    【爬虫】爬取豆瓣图书TOP250
    error: src refspec master does not match any. error: failed to push some refs to 'git@github.com:xxx/xxx.git'
    el-upload如何做到在添加文件时限制文件类型
    :last-child无法选中父元素中最后一个元素
    桥接模式-图形界面配置centos7的ip
    tomcat输出日志乱码
    精简步骤 Centos7命令行安装Tomcat、配置tomcat端口及配置防火墙开放端口
    命令行设置远程访问mysql
    No archetype found in remote catalog. Defaulting to internal catalog
  • 原文地址:https://www.cnblogs.com/zhizhan/p/4157209.html
Copyright © 2011-2022 走看看