error link1158 无法运行rc.exe

一、 问题介绍

因为项目的需要安装了vs2012,可是安装成功后测试“hello world”程序,结果报错,让人甚是郁闷!报错代码是:error link 1158,无法运行rc.exe。

二、问题分析

通过资料的查找,发现此类问题是路径错误造成的。因为在编译运行程序的时候,vs2012等工具都会去调用rc.exe程序,然而由于某些原因,工具在启动rc.exe程序的时候,按照相关的路径无法找到相应的rc.exe程序,此时就会报出上述提到的错误。比较明显,这就是路径出错导致的问题,所以解决问题的方法就是修改相关的路径。

三、解决方法

1、重新安装vs2012等工具。如果你不知道什么时候在哪儿修改了工具的路径,或者你也不想折腾过来折腾过去,那就直接重新安装工具就行了。不过需要注意的是,重新安装的过程中,需要将以往的一些设置全部清除,否则重新安装过程中可能会使用以往一些系统设置,最后导致重新安装后还是无法解决上述的问题;

2、修改相应的路径。前提是你知道自己在哪儿改过系统的路径设置。vs2012的路径文件保存在C:\Users\administrator\appdata\local\microsft\msbuild\v4.0目录下的microsoft.cpp.win32.user.props文件中,所以在文件里查找并修改相应的配置。默认的路径配置文件可以参考下面的信息。

四、默认的路径配置文件

Microsoft.Cpp.Win32.user.props文件的默认安装路径:

C:\Users\Administrator.SDWM-20130627XZ\AppData\Local\Microsoft\MSBuild\v4.0
默认的配置文件为:




$(WindowsSDK_IncludePath);$(VCInstallDir)bin;$(WindowsSdkDir)bin\NETFX 4.0 Tools;$(WindowsSdkDir)bin;$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(FrameworkSDKDir)\bin;$(MSBuildToolsPath32);$(VSInstallDir);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH);
$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include;
$(VCInstallDir)atlmfc\lib;$(VCInstallDir)lib;
$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib;
$(WindowsSDK_LibraryPath_x86);$(VCInstallDir)atlmfc\src\mfc;$(VCInstallDir)atlmfc\src\mfcm;$(VCInstallDir)atlmfc\src\atl;$(VCInstallDir)crt\src;
$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(MSBuildToolsPath32);$(VCInstallDir)atlmfc\lib;$(VCInstallDir)lib;

另外,最好查看一下系统环境变量path是否包含以下的路径:

1、C:\Program Files\Microsoft ASP.NET\ASP.Net Web Pages\v1.0\;
2、C:\Program Files\Windows Kits\8.0\Windows Performance Toolkit\;
3、C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;
4、C:\Users\Administrator.SDWM-20130627XZ\AppData\Local\Microsoft\MSBuild\v4.0;
5、C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin。

你可能感兴趣的:(c/c++)