解决的几个VS安装和使用的问题
写在前面:只是集中了下网上大神的方法
1. 由于操作注册表、卸载重装等引起的:未能正确加载包
加载包异常问题:原因:注册表删除的不彻底,导致残留的配置找不到对应的项了
解决方法:重新刷写注册表就可以修改了
详见文章:http://blog.sina.com.cn/s/blog_6fe3efa301016i64.html
2. 由于混装VS10和高版本引起:Qt编译的时候提示COFF期间错误
原因:高版本的VS会随之安装高版本的.NET.FrameWork(4.5或者4.7),而我们编译的时候找到的则是VS10的编译依赖项:
因此,解决方法有以下几种:
(方法1) 当前系统中存在两个cvtres.exe文件,版本不同。让VS2010使用.NET 4.5的cvtres.exe程序。
具体步骤:
重命名或删除:(vs2010安装的位置)C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
这样C:\Windows\Microsoft.NET\Framework\v4.0.30319 (.NET 4.5)中的cvtres.exe文件就可以被VS2010使用。
(方法2) 解决方法如下:
项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
说明:这种方法每个工程均需要修改配置。
(方法3) 安装:VS2010 SP1. 该版本应该是能使用.NET 4.5的,并配有正确的cvtres.exe版本。
注意:安装VS 2010 SP1 时会移除64-bit 编译器. 通过安装 VS 2010 SP1 compiler pack 能够重新获得。
(方法4)卸载.NET 4.5,重装.NET 4.0
方法来源:https://www.cnblogs.com/newpanderking/articles/3372969.html
3. VS加载工程错误,提示VS2010 无法计算HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\[email protected]处的属性表达式
原因:删除高版本的VS之后,注册表没有清掉,导致加载工程的时候继续访问高版本的配置
解决方法:打开windows+R输入regedit,进入注册表找到:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions路径存在12.0的文件夹则删除掉即可
4. 低版本的VS切换到高(如10->17)之后,使用分布式编译不能通过(Link错误或者moc过程无法进入分布式)这个问题也是由于混装后的环境错误引起,按照分布式配置检查了一遍没有发现问题,后来随着VS的其他问题的解决一起消失了。
参考互联网信息:Qt为了解决这样子的一个问题,弄出一个jom.exe,这和make的功能基本是一样的,但是他比nmake多出来的就是,-j这个参数.也就是说它支持多线程编译.