写在前面:本博文是在我现有知识状态下写的, 我现在是小白, 有错误欢迎指正。 以后假如接触到更合理的见解, 我一定会修正这篇博文的。
本文原是在我本地笔记中待着的, 写于2016/05/17。

下载了OpenCV的Windows的安装版文件,运行该可执行程序将OpenCV解压到某个位置,设置好OpenCV相关的环境变量并重启,接下来可以配置Visual Studio里面的属性,检查配置无误,然后开始编写cpp来测试OpenCV环境搭建的最终结果,可是出现了下面的错误:

错误描述:
>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

现象解释:
这个错误比较少见,因为往往做了某些事情的电脑才会出现这个错误,这个事件很大概率上是:电脑上先装了Visual Studio 2010,在没卸载2010的情况下安装了Visual Studio 2012,之后又把Visual Studio 2012删除了,只用Visual Studio 2010这个版本。

原因解释:
我电脑Windows 7 x64系统,没安装Visual Studio 2010之前,电脑上的.net framework仅有3.5版本,安装Visual Studio 2010时安装了.net framework 4.0,再当安装VS2012之后,.net
framework 4.0会被替换为.net framework 4.5。 卸载VS2012时,.net framework 4.5不会被卸载。   之后紧接着又装上了Visual Studio 2010,它会安装.net framework 4.0,这导致了系统里面.net framework是4.5,VS2010里面.net framework是4.0。具体到文件上,就是cvtres.exe这个程序出现了两个版本的。

说的再清楚点就是C:\Windows\Microsoft.NET\Framework\v4.0.30319下的cvtres.exe(其对应.net framework 4.5), 跟(vs2010安装的位置)...\Microsoft Visual Studio 10.0\VC\bin下的cvtres.exe (其对应.net framework 4.0)产生了冲突。
当VS中程序运行时,VS不知道要用哪个cvtres.exe,导致了错误。

解决:
$约定$      C:\Windows\Microsoft.NET\Framework\v4.0.30319 目录 为  $系统目录$
           (vs2010安装的位置)...\Microsoft Visual Studio 10.0\VC\bin  为  $VS目录$



1、将$系统目录$下的.net framework 4.5更改为4.0,就是卸载.net framework 4.5这个环境包再安装上.net framework 4.0。  这个方法是将$系统目录$下的.net framework版本(版本为4.5)向$VS目录$里的.net
frameword版本(版本为4.0)看齐。
2、一个暴力方法让VS2010使用.net framework 4.5的cvtres.exe程序  把VS2010里面的.net framework 4.0的cvtres.exe程序给损坏掉使之无效。具体的说就是重命名或删除$VS目录$下的cvtres.exe,这样$系统目录$中的cvtres.exe文件就可以被VS2010使用。

3、类似于方法二,也是要使用.net framework 4.5 版本, 但是这里走常规路线, 不搞破坏。   安装VS2010 SP1,它会安装.NET 4.5(也就是把$VS目录$下的.net framework版本变为4.5),这样就非暴力的解决了$系统目录$和$VS目录$下.net
framework版本的冲突。

注意:安装VS 2010 SP1 时会移除64-bit 编译器,通过安装 VS 2010 SP1 compiler pack 能够重新获得。
 

多版本VisualStudio导致的.net版本问题的更多相关文章

  1. angular.js使用ui-router注入报错,这里是版本问题导致的

    报错如下: common.ts:604Uncaught SyntaxError: Unexpected token ) stateEvents.ts:211Uncaught SyntaxError: ...

  2. 生成war的jdk版本高于tomcat使用的jdk版本,导致项目不能正常被访问

    记录一个耽误30分钟的一个坑: 生成war的jdk版本高于tomcat使用的jdk版本,导致项目不能正常被访问 报404错误

  3. as版本切换导致项目损坏,无法启动。环境依赖混乱

    以下方法都不管用, 新建一个项目setting的 把main拷过去就行了!!!! Error:(5, 0) Gradle DSL method not found: 'google()'Possibl ...

  4. zookeeper 版本不一致导致不断重连

    在使用kafka 和zookeeper 实现实时分析程序时,由于zookeeper部署版本和分析程序导入jar包的版本不一致,导致了当实时分析程序从远程服务器连接kafka集群的zookeeper时报 ...

  5. centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题。

    centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题. 原因:yum调用Python,启动程/usr/bin/yum就是一个python ...

  6. oracle:数据库版本问题导致的bug

    公司开发出来的系统,由于各现场oracle数据库版本有10.2.0.4.11.2.0.1.11.2.0.3.11.2.0.4: 进而会导致版本不一导致错误问题.下面列举2个: 1.wm_concat ...

  7. thrift 版本不一致导致 @Override 报错

    thrift 版本不一致导致 @Override 报错 学习了:http://blog.csdn.net/antony1776/article/details/78920888 版本不一致导致的: 在 ...

  8. ride.py在运行python3.×版本后导致无法运行及解决办法

    最近一直在自学python自动化,网上看到rf框架挺适合初学自动化测试,于是通过虫师的搭建了rf框架, 但是在使用过程中遇到了一个问题,在网上没有找到明确解决办法于是想到记录一下 之前为了搭建rf框架 ...

  9. Maven版本问题导致的 unable to import maven project, see logs for details. 问题

    新电脑安装了基础环境后,jdk,maven也都安装好了,idea安装后,导入Java项目一切正常,但是idea中code一直导入import依赖包出现问题,错误提示:unable to import ...

随机推荐

  1. CSS实现自适应不同大小屏幕的背景大图

    在网上搜了好多demo:可总有这样那样的一些小瑕疵,试过几次后发现这样效果是最好的 html: <div class='bg'> <img src="image/bk02. ...

  2. RPC 调用简述

    首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网 ...

  3. Javascript 内核Bug

    Javascript 内核Bug: js 执行(9.9+19.8)加法运算 等于 29.700000000000003) <html> <head> <title> ...

  4. 快速自检电脑是否被黑客入侵过(Windows版)

    我们经常会感觉电脑行为有点奇怪, 比如总是打开莫名其妙的网站, 或者偶尔变卡(网络/CPU), 似乎自己"中毒"了, 但X60安全卫士或者X讯电脑管家扫描之后又说你电脑" ...

  5. httpwebrequest 用GET方法时报无法发送具有此谓词类型的内容正文

    如下一段小程序,运行结果报无法发送具有此谓词类型的内容正文的错误,其实原因很简单,因为用的是GET的方式进行提交,而GetRequestStream()是用来在post提交的时候写post的内容的流, ...

  6. 掌握numpy(四)

    数组的累加(拼接) 在前面讲了使用切片方法能够对数组进行切分,使用copy对切片的数组进行复制,那么数组该如何拼接呢? a1 = np.full((2,3),1)#填充数组 a2 = np.full( ...

  7. MySQL性能建议者mysqltuner.pl和pt-variable-advisor

    [root@etch171 ~]# mysqltuner.pl --host >> MySQLTuner - Major Hayden <major@mhtx.net> > ...

  8. FPGA时钟分频(转)

    http://www.cnblogs.com/fpga/archive/2009/10/24/1589318.html 占空比为50%的分频 偶数分频比较简单 比如N分频,那么计数到N/2-1,然后时 ...

  9. javascript内存管理(堆和栈)和javascript运行机制

    内存基本概念 内存的生命周期: 1.分配所需的内存 2.内存的读与写 3.不需要时将其释放 所有语言的内存生命周期都基本一致,不同的是最后一步在低级语言中很清晰,但是在像JavaScript 等高级语 ...

  10. 十六、Hadoop学习笔记————Zookeeper实战

    所有服务器都会先将自己的服务器信息注册到servers中,然后每台服务器都会尝试注册master,哪台注册成功,则哪台就是master服务器. 所有的服务器都会关注master节点的删除事件,这样通过 ...