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:\opencv\build\x86\vc10\lib(vs2010的)或者是C:\opencv\build\x86\vc9\lib(2008)。而不是C:\opencv\build\x64\vc10\lib或者C:\opencv\build\x64\vc9\lib;

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

同理对于环境变量的设置也都是:PATH值: C:\opencv\build\x86\vc10\bin;C:\opencv\build\common\tbb\ia32\vc10。或者是PATH值: C:\opencv\build\x86\vc9\bin;C:\opencv\build\common\tbb\ia32\vc9。无论你用的是WINDOWS XP还是WIN7系统,是32位的还是64位,都是这样。千万不能因为你的是WIN7 64位的系统,而改成了C:\opencv\build\x64\vc9\bin;C:\opencv\build\common\tbb\intel64\vc9,这样会导致编译无法连接。

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

包含目录:C:\opencv\build\include\opencv;C:\opencv\build\include\opencv2;C:\opencv\build\include;$(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补丁()并安装。

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

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 Studio 2008/2010 和Opencv平台下出现LINK : fatal error的更多相关文章

  1. 解决Visual Studio 2010新建工程时出现『1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt』错误

    VS2010在经历一些更新后,建立Win32 Console Project时会出"error LNK1123" 错误.   解决方案为: 第一步:将:项目|项目属性|配置属性|清 ...

  2. 解决Visual Studio 2010新建工程时出现『1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt』错误

      VS2010在经历一些更新后,建立Win32 Console Project时会出"error LNK1123" 错误. 解决方案为: 第一步:将:项目|项目属性|配置属性|清 ...

  3. Visual Studio 2008打开vs2010解决方案的方法

    一个朋友遇到了个问题:用visual studio 2008软件,无法打开一个asp.net网站的sln解决方案.如下图,原因是此解决方案由vs2010生成的,必须由vs2010运行程序打开. 这样一 ...

  4. Visual studio 2008 的语法高亮插件 NShader

    前段时间一直在使用matlab,今天需要使用vs2008,而用惯了matlab,习惯了其中一项选中变量高亮的设置,突然回来使用VS,感到各种不适应,顿时想到了一个词:矫情 呵呵,于是在网上找各种插件, ...

  5. Visual studio 2008 的语法高亮插件 WordLight

    前段时间一直在使用matlab,今天需要使用vs2008,而用惯了matlab,习惯了其中一项选中变量高亮的设置,突然回来使用VS,感到各种不适应,顿时想到了一个词:矫情 呵呵,于是在网上找各种插件, ...

  6. [vs2008]Visual Studio 2008 SP1添加或删除功能提示查找SQLSysClrTypes.msi文件

    前言 今天接到领导布置的一个任务,是之前同事负责的项目.离职了,现在客户有些地方需要修改,由于我之前参与过,就落在我的头上了. 然后我就把代码弄了过来,打开发现其中需要用到水晶报表.(我觉得不好用,不 ...

  7. Microsoft Visual Studio 2008 未能正确加载包“Visual Web Developer HTML Source Editor Package” | “Visual Studio HTM Editor Package”

    在安装Microsoft Visual Studio 2008 后,如果Visual Studio 2008的语言版本与系统不一致时,比如:在Windows 7 English System 安装Vi ...

  8. Visual Studio 2008 Package Load Failure:未能正确加载包“Microsoft.VisualStudio.Xaml”

    在安装好Visual Studio 2008后,启动Visual Studio 2008 发现如下提示: 包加载失败 未能正确加载包“Microsoft.VisualStudio.Xaml”( GUI ...

  9. 打开office word excel弹出visual studio 2008

    打开office word 或者excel或者ppt等文档就会弹出visual studio 2008正在配置对话框. 按照我下面的步骤,解决方法非常简单. 如果你的电脑是win7操作系统,从第一步开 ...

随机推荐

  1. 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 D - 新卡片游戏

    题目描述

  2. 使用 Eigen 3.3.3 进行矩阵运算

    Eigen是一个能够进行线性代数运算的C++开源软件包,包含矩阵和矢量操作,Matlab中对矩阵的大多数操作都可以在Eigen中找到. 最近需要计算厄米特矩阵的逆,基于LLT分解和LDLT分解,自己写 ...

  3. JS中关于换行的2个坑

    //第一个为ul/ol使用中的li使用需要注意的地方 1.<ul id="banner_indicator"><li></li><li&g ...

  4. Python开发基础-Day25-28FTP项目(待补充)

    optparse C:\Users\Mr.chai>python C:/Users/Mr.chai/Desktop/PythonProject/DAY/day27/LuffyFTP/client ...

  5. Ubuntu下查看软件版本及安装位置

    查看软件版本: XXX --version 或 aptitude show xxx 也可用apt-show-versions (要先安装sudo apt-get install apt-show-ve ...

  6. UVALive 6907 Body Building

    题目链接:https://vjudge.net/problem/UVALive-6907 题意: 给出一张图,判断这张图中有多少个哑铃,哑铃判断的条件是,对于一个连通图:如果找到一条边连接这两个点的个 ...

  7. 【轮廓线DP】POJ2411-Mondriaan's Dream

    今天美国的院士过来讲课XD以为会很无聊但是谜之好听,而且英语基本上都听懂了的样子♪(´▽`) 逃到图书馆来写解题报告 [题目大意] 给出一个m*n的方格,用2*1的骨牌覆盖有几种情况. [思路] 最基 ...

  8. hibernate核心及常用技术

    一.hibernate介绍 1.hibernate概述 hibernate是轻量级Java EE持久层解决方案,管理java类到数据库表的映射(ORM:对象关系型数据映射),并提供数据查询获取的方法. ...

  9. PHP链接sqlserver出现中文乱码

    PHP通过dblib扩展链接sqlserver,使用的是freetds,出现中文乱码. 在freetds的配置文件中(/usr/local/freetds/etc/freetds.conf),[glo ...

  10. lightoj 1296 - Again Stone Game 博弈论

    思路:由于数据很大,先通过打表找规律可以知道, 当n为偶数的时候其SG值为n/2; 当n为奇数的时候一直除2,直到为偶数m,则SG值为m/2; 代码如下: #include<stdio.h> ...