Visual studio 2012 Visual Studio可以';由于rc.exe而无法生成
我在网上搜索过,找不到任何与我的问题相似的东西 <>我创建了一个空的C++项目,并添加了一个Meav.CPP,但不能让它生成。以下是我收到的信息:Visual studio 2012 Visual Studio可以';由于rc.exe而无法生成,visual-studio-2012,Visual Studio 2012,我在网上搜索过,找不到任何与我的问题相似的东西 我创建了一个空的C++项目,并添加了一个Meav.CPP,但不能让它生成。以下是我收到的信息: 1>------ Build started: Project: Project1, Configuration: Debug Win32 ------ 1>LINK : fatal error LNK1158: cannot run 'rc.exe' ========== Build: 0 succeeded, 1 failed, 0 up
1>------ Build started: Project: Project1, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1158: cannot run 'rc.exe'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
VS2012中是否有我可以指定在何处查找此可执行文件的地方?我已安装Windows 7 SDK,可执行文件位于:
C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin
我来自Code::Blocks,使用mingw gcc没有任何问题,但最近我一直需要VS来实现托管实现,所以我希望有人能想出一个主意。在谷歌上找到这个。。。我假设在您的情况下,您会将
rc.exe
和rcdll.dll
复制到visual studio 2012\vc\bin
或安装它的任何地方:
第2部分:修复链接:致命错误LNK1158:无法运行“rc.exe”
将其添加到PATH环境变量中:
C:\ProgramFiles(x86)\Windows工具包\8.0\bin\x86
复制这些文件:
rc.exercdll.dll 从 C:\ProgramFiles(x86)\Windows工具包\8.0\bin\x86 到 C:\ProgramFiles(x86)\Microsoft Visual Studio 11.0\VC\bin 或者我也发现了这个:
微软在MSVT软件包中遗漏了一些东西。由于没有人知道它们是由于错误还是由于许可证的原因而被遗漏,所以MSVC的任何人都没有太多兴趣将它们分发出去。一些谷歌搜索发现了一些棘手的来源。幸运的是,微软终于明白并解决了这个问题以及更多的问题 存在大量MSVT缺失文件,但缺失的SDK文件不存在 还有这个:
我遇到了同样的问题,我通过这样做解决了这个问题:
现在我可以无错误地构建和链接资源文件。这可能有点过时了。但是,如果复制rc.exe和exdll.dll不起作用,则即使存在windows sdk文件夹,也有可能未正确安装windows sdk。您可以在以下页面中更新win 8的sdk:
重新安装sdk后,问题将得到解决。还要确保平台工具集设置正确。我在VS 2013上遇到了同样的问题,并且能够通过更改
平台工具集来解决它
您可以在“项目设置”、“常规”中找到它
例如,将平台工具集
切换到VS 2010将导致VS使用Windows\v7.0A SDK
通过将以下内容添加到预构建事件中,可以检查使用了哪个SDK路径:
echo using SDK $(WindowsSdkDir)
这是我几乎相似的例子:
我有一个在Win7 32位下的VC2010工作项目。我在Win8.1 64位下干净地安装了VC2013
成功地将我的项目从VC2010转换到VC2013后,在第一次编译期间,出现以下错误:
已完成生成代码
链接:致命错误LNK1158:无法运行“rc.exe”
解决方案1:
在运行VC2013之前,删除记事本中yourSolution.vcxproj文件名中元素“”中的整行“…”
解决方案2:
仅将两个文件:rc.exe和rcdll.dll从“c:\Program files(x86)\Windows Kits\8.1\bin\x86\”复制到“c:\Program files(x86)\Microsoft Visual Studio 12.0\VC\bin\”,编译将成功
注:
a) 无需触摸任何路径或其他窗口或VC环境变量。
b) “平台工具集”(项目属性页–>配置属性–>常规)将自动设置为“Visual Studio 2013(v120)”(不要将其更改为“Visual Studio 2010”,以便能够在VC2013概念下继续开发您的项目)根据我的发现,如果您有windows 7操作系统,执行以下步骤将解决此问题:
1) 转到C:\ProgramFiles(x86)\Microsoft SDK\Windows\v7.1A\Bin
2) 然后从该文件复制RC.exe和RcDll
3) 转到C:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\bin并将复制的两个文件粘贴到其中
我也有同样的问题,上面发布的解决方案不起作用。我的解决方案是从它衍生出来的,它对我有效,如果上面的方法不起作用,你可以试试这个 我正在使用Windows 7和VS 2013(更新3)以及针对Fortran Windows的英特尔并行工作室XE Composer版本(更新5)。开箱即用的我也有同样的问题
一旦我修复了丢失的rc.exe问题,我就遇到了另一个问题。链接器缺少kernel32.lib
我通过更新英特尔Composer选项(工具->选项…->英特尔Composer XE->Visual Fortran->编译器)纠正了这两个问题
对于我添加的Win32选项卡:
可执行文件:C:\ProgramFiles(x86)\Windows Kits\8.0\bin\x86(刚好在$(路径)之前)
库:C:\ProgramFiles(x86)\Windows Kits\8.0\Lib\win8\um\x86(结尾)
对于我添加的x64选项卡:
可执行文件:C:\ProgramFiles(x86)\Windows Kits\8.0\bin\x64(刚好在$(路径)之前)
库:C:\ProgramFiles(x86)\Windows Kits\8.0\Lib\win8\um\x64(结尾)
更新
我还缺少一些SDK头文件(winver.h和winapifamine.h)。我在相同的工具->选项中添加了以下内容。。。区域
对于win32和x64选项卡
包括:C:\ProgramFiles(x86)\Windows Kits\8.0\Include\um;C:\ProgramFiles(x86)\Windows Kits\8.0\Include\shared 我刚刚在我的VS2010(SDK7.1)解决方案(项目以连续的线性依赖链链接)中发现了一个(总共3个)项目,项目文件中有一个.rc文件是空的。
删除空的.rc文件(从项目中,不删除它)解决了“致命错误LNK1158:…cvtres.exe”问题
向上
xcopy "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\"
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ExecutablePath>$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSdkDir)bin\NETFX 4.0 Tools;$(WindowsSdkDir)bin\x86;
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ExecutablePath>$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSdkDir)bin\NETFX 4.0 Tools;$(WindowsSdkDir)bin;
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64 8.1
C:\Program Files (x86)\Windows Kits\8.1\bin\x86
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
C:\Program Files (x86)\Windows Kits\8.1\bin\x86
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
"C:\Program Files (x86)\Windows Kits\10\bin\x86"
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86"
PATH="/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64":$PATH
C:\>python -m pip install mod_wsgi
LINK : fatal error LNK1158: cannot run 'rc.exe'
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1158
C:\>python -m pip install mod_wsgi
Collecting mod_wsgi
Using cached mod_wsgi-4.7.1.tar.gz (498 kB)
Installing collected packages: mod-wsgi
Running setup.py install for mod-wsgi ... done
Successfully installed mod-wsgi-4.7.1
@REM ---------------------------------------------------------------------------
:GetWin10SdkDir
@call :GetWin10SdkDirHelper HKLM\SOFTWARE\Wow6432Node > nul 2>&1
@if errorlevel 1 call :GetWin10SdkDirHelper HKCU\SOFTWARE\Wow6432Node > nul 2>&1
@if errorlevel 1 call :GetWin10SdkDirHelper HKLM\SOFTWARE > nul 2>&1
@if errorlevel 1 call :GetWin10SdkDirHelper HKCU\SOFTWARE > nul 2>&1
@if errorlevel 1 exit /B 1
@exit /B 0
@REM ---------------------------------------------------------------------------
:GetWin10SdkDir
@call :GetWin10SdkDirHelper HKLM\SOFTWARE\Wow6432Node > nul 2>&1
@if errorlevel 1 call :GetWin10SdkDirHelper HKCU\SOFTWARE\Wow6432Node > nul 2>&1
@if errorlevel 1 call :GetWin10SdkDirHelper HKLM\SOFTWARE > nul 2>&1
@if errorlevel 1 call :GetWin10SdkDirHelper HKCU\SOFTWARE > nul 2>&1
@if errorlevel 1 exit /B 1
@setlocal enableDelayedExpansion
set HostArch=x86
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" ( set "HostArch=x64" )
if "%PROCESSOR_ARCHITECTURE%"=="EM64T" ( set "HostArch=x64" )
if "%PROCESSOR_ARCHITECTURE%"=="ARM64" ( set "HostArch=arm64" )
if "%PROCESSOR_ARCHITECTURE%"=="arm" ( set "HostArch=arm" )
@endlocal & set PATH=%WindowsSdkDir%bin\%WindowsSDKVersion%%HostArch%;%PATH%
@exit /B 0