Busqué en línea y no pude encontrar nada parecido a mi problema.
Creé un proyecto C ++ vacío y agregué un main.cpp con un retorno y no puedo hacer que se compile. Aquí está el mensaje que recibo:
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 ==========
¿Hay algún lugar dentro de VS2012 donde pueda especificar dónde encontrar este ejecutable? He instalado el SDK de Windows 7 y tengo este ejecutable en:
C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin
Vengo de Code :: Blocks y uso mingw-gcc sin ningún problema, pero últimamente he necesitado VS para implementaciones administradas, así que espero que alguien tenga una idea.
visual-studio-2012
Patrick.SE
fuente
fuente
Respuestas:
Encontramos en Google ... yo supongo que en su caso deberá copiar
rc.exe
yrcdll.dll
avisual studio 2012\vc\bin
cualquier lugar al que tenerlo instalado:Parte 2: ENLACE FIJO:
fatal error LNK1158: cannot run ‘rc.exe’
Agregue esto a sus variables de entorno PATH:
Copie estos archivos:
De
A
O también encontré esto:
Microsoft dejó algunas cosas fuera de su paquete MSVT. Como nadie sabe si se quedaron fuera por error o por razones de licencia, nadie con MSVC está demasiado interesado en entregarlos. Algunas búsquedas en Google muestran algunas fuentes difíciles. Afortunadamente, Microsoft finalmente ha sabido resolver y resolver este problema y muchos más.
http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx#pricing
http://msdn.microsoft.com/vstudio/express/support/install/
Hay una buena cantidad de archivos faltantes de MSVT pero los archivos faltantes del SDK no.
y esto:
tuve el mismo problema que resolví haciendo esto:
Ahora puedo construir y vincular archivos de recursos sin errores.
fuente
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
y ejecuté comandos:copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rc.exe"
ycopy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rcdll.dll"
para solucionar esto en Visual Studio 2015Llegamos a este problema con nuestras compilaciones CMake / Visual Studio 2015 después de instalar también VS2017 en la máquina. La solución correcta en nuestro caso es especificar la versión del Kit de Windows (8.1) en el Símbolo del sistema de Visual Studio; de lo contrario, obtendrá el Kit de Windows 10 de forma predeterminada que no incluye rc.exe en el directorio bin.
por ejemplo, Menú Inicio-> Visual Studio 2015-> VS2015 x64 Símbolo del sistema de herramientas nativas
Tenga en cuenta la opción 8.1 al final
fuente
call C:\\(....)\vcvarsall.bat" amd64 8.1
ystart cmake-gui
funciona de maravillaPor lo que he encontrado, si tiene un sistema operativo Windows 7, los siguientes pasos solucionarán el problema:
1) vaya a C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin
2) luego copie RC.exe y RcDll de este archivo
3) vaya a C: \ Archivos de programa (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin y pegue los dos archivos que ha copiado en él.
Tuve el mismo problema y la solución publicada anteriormente no funcionó. Mi solución se derivó de ella, y funcionó para mí, si las anteriores no funcionan, puede probar esta.
fuente
Este
rc.exe
error puede ocurrir si el compilador de Visual C ++ y las versiones del SDK de Windows 10 no corresponden al mismo año de Visual Studio. En general, la solución es asegurarse de que tiene en su sistema y está utilizando en la compilación, VC ++ y Windows SDK para el año de estudio visual que está utilizando.Por ejemplo, si tiene Visual Studio 2017 o 2019, e instaló Build Tools 2015 sin seleccionar instalar su propio SDK de Windows 2015 (la instalación predeterminada no lo instala), y está tratando de usarlo para compilar, puede encontrarse con este problema.
En mi caso, ya tenía Visual Studio 2017. Cuando intenté usar Build Tools 2015 para compilar una biblioteca de Python (o probablemente cualquier programa), ocurrió el mismo error 'rc.exe'. Leí que el compilador VS2015 14.0 C ++ puede fallar si intenta usar el SDK de Windows 10 de Visual Studio 2017.
Desinstalé Build Tools 2015 y lo reinstalé, esta vez como una instalación personalizada , seleccionando instalar los componentes de Visual C ++ y Windows 10 SDK. Esto solucionó el problema.
ACTUALIZACIÓN: Acabo de ver Build Tools 2015 nuevamente, y aparentemente ya no hay una opción de instalación personalizada. Si es así, también debería funcionar la instalación de Visual Studio 2015 con componentes C ++ y Windows SDK.
fuente
En mi caso, tuve un error de combinación y coincidencia entre proyectos creados en VS2015 y VS2017. En mi archivo .vcxproj, hay una sección llamada PropertyGroup Label = "Globals">. Tenía una sección para TargetPlatformVersion = 10.0.15063.0. Cuando eliminé la TargetPlatformVersion, eso resolvió el problema.
Lo siento, no puedo copiar y pegar el bloque aquí, pero el formato de codificación de stackoverflows no lo permitió.
fuente
Estoy en Windows 7 x64 y Visual Studio 2017 . Me sale este error al intentar compilar un script cython. Así es como lo resolví: copié y pegué rc.exe y rcdll.dll de:
a
fuente
C:\Program Files (x86)\Windows Kits\8.1\bin\x64
aC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
.C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64
paraC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
corregir que Visual Studio no se puede construir debido al error rc.exeAquí está mi caso casi similar:
tengo el proyecto de trabajo VC2010 bajo Win7 32bit. Realizo una instalación limpia de VC2013 bajo Win8.1 64 bits Después de la conversión exitosa de mi proyecto de VC2010 a VC2013, durante la primera compilación, aparece el siguiente error:
Código de generación terminado
LINK: error fatal LNK1158: no se puede ejecutar 'rc.exe'
Solución 1:
Eliminar línea completa "<ExecutablePath Condition =" ... "> ... </ExecutablePath>" en el elemento "<PropertyGroup>" en el archivo NameOfYourSolution.vcxproj en el bloc de notas antes de ejecutar VC2013
Solución 2:
Copie solo dos archivos: rc.exe y rcdll.dll de "c: \ Archivos de programa (x86) \ Windows Kits \ 8.1 \ bin \ x86 \" a "c: \ Archivos de programa (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \" y la compilación será ¡¡exitoso!!
Nota:
a) No es necesario tocar ninguna RUTA u otras variables de entorno de Windows o VC.
b) "Platform Toolset" (Páginas de propiedades del proyecto -> Propiedades de configuración -> General) se configurará automáticamente en "Visual Studio 2013 (v120)" (no lo cambiará a "Visual Studio 2010" para poder continuar desarrollando su proyecto bajo conceptos VC2013)
fuente
En mi caso, el error se debió a una mala configuración en un vcxproj. El vcxproj era de un tercero, así que no estoy seguro de cómo llegó en ese estado.
Específicamente, para una de las combinaciones de plataforma / perfil, faltaba la carpeta de la plataforma en la carpeta bin del SDK de Windows:
es correcto, donde
era incorrecto. Es posible que deba desplazarse hasta el final de los cuadros de código para ver la diferencia.
Tenga en cuenta también que, por alguna extraña razón, $ (WindowsSdkDir) bin \ x64; NO funcionó para mí. Intenté averiguar por qué, cuando rc.exe definitivamente existe en esa carpeta, pero me di por vencido.
En mi opinión, las soluciones de carteles anteriores que implican copiar rc.exe en todo el lugar son incorrectas, porque su proyecto no funcionará en la máquina de otra persona. Si arregla las rutas en el proyecto correctamente, debería funcionar en cualquier máquina con una instalación correcta del SDK de Windows.
fuente
Estoy en Windows 10 x64 y Visual Studio 2017. Copié y pegué rc.exe y rcdll.dll de:
a
funciona con: (qt creator 5.7.1)
fuente
Esto podría estar un poco desactualizado. Pero si la copia de rc.exe y exdll.dll no funcionó, existe la posibilidad de que Windows SDK no esté instalado correctamente, incluso si la carpeta Windows SDK existe. Puede actualizar el SDK para Win 8 en la siguiente página: http://msdn.microsoft.com/en-US/windows/hardware/hh852363 Después de reinstalar el SDK, el problema se resolvería. También asegúrese de que el conjunto de herramientas de la plataforma esté configurado correctamente.
fuente
He encontrado este problema recientemente. Tengo instalados VS 2015 y VS 2017, kits de Windows 8.1 y 10 instalados.
El símbolo del sistema de VS 2017 funciona como se esperaba, rc.exe es visible. En VS 2015 esto no es cierto. En realidad, el script vcvarsall.bat de VS 2015 agrega una ruta al kit de Windows 10 a la variable PATH, pero agrega una ruta ligeramente incorrecta. Agrega camino a
mientras que el camino real es
Parece que actualizar el kit de Windows 10 (o instalar VS 2017) condujo a este problema.
Entonces, la solución es simple: simplemente cree enlaces simbólicos en la carpeta "C: \ Archivos de programa (x86) \ Windows Kits \ 10 \ bin" apuntando a las carpetas correspondientes en la carpeta subyacente, por ejemplo, un enlace simbólico "x86" para la carpeta "10.0 .17763.0 \ x86 "," x64 "para" 10.0.17763.0 \ x64 ", etc.
fuente
Tuve el mismo problema en VS 2013 y pude solucionarlo cambiando el
Platform Toolset
.Puede encontrarlo en la configuración del proyecto, general.
Por ejemplo, cambiar
Platform Toolset
a VS 2010 hará que VS use el SDK de Windows \ v7.0A.Puede verificar qué ruta del SDK se usa agregando esto a su evento de precompilación:
fuente
Estoy usando Windows 7 con VS 2013 (Actualización 3) e Intel Parallel Studio XE Composer Edition para Fortran Windows (Actualización 5). Fuera de la caja tuve el mismo problema.
Una vez que solucioné el problema que faltaba rc.exe tuve otro problema. Faltaba el vinculador kernel32.lib.
Corregí ambos problemas actualizando las Opciones de Intel Composer (HERRAMIENTAS-> Opciones ...-> Intel Composer XE-> Visual Fortran-> Compiladores).
Para la pestaña Win32 agregué:
Ejecutables: C: \ Archivos de programa (x86) \ Windows Kits \ 8.0 \ bin \ x86; (justo antes de $ (PATH))
Bibliotecas: C: \ Archivos de programa (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ x86; (al final)
Para la pestaña x64 agregué:
Ejecutables: C: \ Archivos de programa (x86) \ Windows Kits \ 8.0 \ bin \ x64; (justo antes de $ (PATH))
Bibliotecas: C: \ Archivos de programa (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ x64;(al final)
Actualizar...
También me faltaban algunos archivos de encabezado SDK (winver.h y winapifamily.h). Agregué lo siguiente a la misma área HERRAMIENTAS-> Opciones ...
Para las pestañas win32 y x64
Incluye: C: \ Archivos de programa (x86) \ Windows Kits \ 8.0 \ Include \ um; C: \ Archivos de programa (x86) \ Windows Kits \ 8.0 \ Include \ shared;
fuente
Acabo de descubrir uno (de los 3 en total) proyectos en mi solución VS2010 (SDK7.1) (los proyectos están vinculados en una cadena de dependencia lineal secuencial), tenía un archivo .rc en los archivos del proyecto que estaba vacío. La eliminación del archivo .rc vacío (del proyecto, sin eliminarlo) resolvió el problema "error fatal LNK1158: ... cvtres.exe".
Actualización: la siguiente copia solucionó el problema:
Esto permitirá que WinSDK7.1, a través de MSBuild, pueda compilar archivos .rc en los ejecutables.
fuente
Esto es aún más fácil que eso con Visual Studio 2017. Siga estas instrucciones: https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio para modificar usando el instalador de Microsoft Visual Studio.
Una vez dentro del instalador de Microsoft Visual Studio, haga clic en modificar debajo de su paquete de Visual Studio instalado, asegúrese de que el desarrollo de escritorio con C ++ esté marcado y el soporte de MFC y ATl (x86 y x64), en resumen.
fuente
Esto puede deberse a un vcxproj que se originó en versiones anteriores de Visual Studio O al cambiar el conjunto de herramientas de la plataforma en Propiedades de configuración -> General.
Si es así, posible Solución:
1) Vaya a Propiedades de configuración -> Directorios VC ++
2) Seleccione desplegable para directorios ejecutables
3) Seleccione "Heredar de los valores predeterminados del proyecto principal"
fuente
Agregue a su entorno variable ventana sdk 8.1 ruta
luego abra el símbolo del sistema de Visual Studio x64 Native Tools e ingrese
fuente
Si realmente necesita usar el SDK de Windows 10 con Visual Studio 2015, debe descargar una versión anterior en sdk-archive . La versión más reciente del SDK cambió el lugar del ejecutable rc y MSBuild de Visual Studio 2015 actualización 3 (última versión) no puede ubicarlo. Al menos la versión 10.0.14393.795 del SDK de Windows sigue siendo compatible con Visual Studio 2015.
fuente
Tal vez el archivo del proyecto fue tocado por VS2017. Luego, cuando vincula el proyecto en 2015 "LINK: error fatal LNK1158: no se puede ejecutar 'rc.exe'" puede frenar la compilación.
En vcxproj intente:
1) reemplazar:
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
con:<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
2) eliminar:
<VCProjectVersion>15.0</VCProjectVersion>
3) reemplazar:
<PlatformToolset>v141</PlatformToolset>
con:<PlatformToolset>v140</PlatformToolset>
fuente
Obtuve el error de enlace del OP sobre
rc.exe
cuando intentaba ejecutarpip install
dentro de unabash
tarea dentro de una tubería de Azure DevOps que estaba usando para construir un paquete de Python desde el origen con extensiones C ++. Pude resolverlo agregando la rutarc.exe
dentro de labash
tarea justo antes de llamarpip install
, así:Eso estaba dentro de un Azure
job
que estaba usandovmImage: 'windows-2019'
para su agente; es decir, Windows Server 2019 con Visual Studio 2019.fuente
Pude hacerlo funcionar también para mí de esta manera en Windows
Puede configurar fácilmente su variable de entorno utilizando
fuente
En mi caso, instalé el SDK de Windows 10586 a través de Visual Studio 2015 -> Modificar , luego se instalaron las siguientes rutas.
fuente
Para Visual Studio Community 2019, copiar los archivos en las respuestas anteriores (
rc.exe rcdll.dll
) meC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x86
ayudó.fuente
Estoy en Windows 10 Pro x64, VS 19 ...
Al intentar instalar mod_wsgi para apache en cmd.
Este es el error que recibí de mi símbolo del sistema.
Tuve que copiar rc.exe y rcdll.dll de
y agregarlo a
resultado de cmd
Espero que esto ayude a alguien.
fuente