Visual Studio не может построить из-за rc.исполняемый



Я искал в интернете и не мог найти ничего, что напоминало к моему вопросу.



Я создал пустой проект C++ и добавил main.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-to-date, 0 skipped ==========


есть ли где-нибудь в VS2012, где я могу указать, где найти этот исполняемый файл? Я установил Windows 7 SDK, и у меня есть этот исполняемый файл по адресу:



C:Program FilesMicrosoft SDKsWindowsv7.0Bin


Я пришел из кода:: блоки и с помощью mingw-gcc без каких-либо проблема, но в последнее время мне нужен VS для управляемых реализаций, поэтому я надеюсь, что у кого-то есть идея.

1220   16  

16 ответов:

нашел это в Google... Я бы предположил, что в вашем случае вы бы копировали rc.exe и rcdll.dll to visual studio 2012\vc\bin или где бы вы его ни установили:

Часть 2: исправить ссылку:fatal error LNK1158: cannot run ‘rc.exe’

добавьте это к переменным среды PATH:

C:\Program файлы (x86)\Windows Kits\8.0\bin\x86

скопировать эти файлы:

rc.exe
rcdll.dll

С

C:\Program файлы (x86)\Windows Kits\8.0\bin\x86

до

C:\Program файлы (x86)\Microsoft Visual Studio 11.0\VC\bin

или я тоже нашел это:
Microsoft оставила несколько вещей из своего пакета MSVT. Поскольку никто не знает, были ли они оставлены по ошибке или по причинам лицензии, никто с MSVC не слишком заинтересован в их выдаче. Несколько поисковых запросов в Google выискался какой-то хитрый источников. К Счастью, Microsoft наконец-то поумнел и решил эту проблему и многие другие.

http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx#pricing

http://msdn.microsoft.com/vstudio/express/support/install/

большое количество отсутствующих файлов MSVT есть, но отсутствующие файлы SDK нет.

и так:
У меня та же проблема, которую я решил делать так:

  1. установка Microsoft .Net Framework 2.0
  2. добавление пути к файлам .NET Framework (для меня "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727") к глобальным настройкам компилятора > программы > дополнительные пути в коде:: блоки.

теперь я могу создавать и связывать файлы ресурсов без ошибок.

мы столкнулись с этой проблемой с нашими сборками CMake / Visual Studio 2015 после установки VS2017 на машине. Правильное решение в нашем случае-указать версию Window Kit (8.1) в командной строке Visual Studio - в противном случае вы получите комплект Windows 10 по умолчанию, который не включает rc.exe в папке bin.

например меню Пуск - > Visual Studio 2015 - > VS2015 x64 Native Tools Command Prompt

%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64 8.1

обратите внимание на опцию 8.1 на конец

из того, что я нашел, если у вас есть ОС windows 7, выполнение следующих шагов устранит проблему:

1) перейти к C:\Program файлы (x86)\Microsoft SDKs\Windows\v7.1A\Bin

2) затем скопируйте RC.exe и RcDll из этого файла

3) перейти к C:\Program файлы (x86)\Microsoft Visual Studio 12.0\VC\bin и вставьте в него два скопированных файла.

У меня была та же проблема, и вышеприведенное решение не сработало. Мое решение было получено из него, и это сработало для меня, если те, что выше, не работают, вы можете попробовать это.

в моем случае у меня была ошибка смешивания и сопоставления между проектами, созданными в VS2015 и VS2017. В моем.файл vcxproj, есть этот раздел под названием PropertyGroup Label= "Globals">. У меня был раздел для TargetPlatformVersion=10.0.15063.0. Когда я удалил TargetPlatformVersion, это решило проблему.

Извините, я не могу скопировать и вставить блок здесь, но формат кодирования stackoverflows этого не позволил.

Если у вас есть Visual Studio 2017, и вы установили Build Tools 2015, не выбрав для установки свой собственный 2015 Windows SDK (установка по умолчанию не устанавливает его!), и пытаются использовать его для компиляции, вы можете столкнуться с этой проблемой.

Я читал, что компилятор VS2015 14.0 C++ может дать сбой, если он попытается использовать Windows 10 SDK из Visual Studio 2017.

в моем случае у меня уже была Visual Studio 2017. Когда я пытался использовать Build Tools 2015 для скомпилируйте библиотеку python (или, возможно, любую программу), этот же 'rc.произошла ошибка exe. Я удалил Build Tools 2015 и переустановил его, на этот раз как пользовательскую установку, выбрав установить и компоненты visual C++ и Windows 10 SDK. Это исправило проблему.

во всяком случае, я думаю, что это указывает на это 'rc.ошибка exe может легко всплывать, если компилятор Visual C++ и версии Windows 10 SDK не соответствуют одному и тому же году Visual Studio, по-видимому.

Я на Windows 7 x64 и Visual Studio 2017. Я получаю эту ошибку, пытаясь скомпилировать сценарий cython. Вот как я решил: Я скопировал и вставил rc.exe и rcdll.dll от:

C:\Program Files (x86)\Windows Kits.1\bin\x86

до

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64

Это может быть немного устаревшей. Но если копирование rc.exe и exdll.dll не работает, есть вероятность, что Windows sdk не установлен должным образом, даже если папка Windows sdk существует. Вы можете обновить sdk для win 8 на следующей странице: http://msdn.microsoft.com/en-US/windows/hardware/hh852363 После переустановки sdk проблема будет решена. Также убедитесь, что набор инструментов платформы установлен правильно.

вот мой почти аналогичный случай:
У меня есть рабочий проект VC2010 под Win7 32bit. Я делаю чистую установку VC2013 под Win8. 1 64bit После успешного преобразования моего проекта из VC2010 в VC2013, во время 1-й компиляции возникает следующая ошибка:
Закончена генерация кода
Ссылка: неустранимая ошибка LNK1158: не удается запустить ' rc.exe'

Решение 1:
Удалить всю строку " ..." в элемент " " в NameOfYourSolution.файл vcxproj в блокноте перед запуском VC2013
решение 2:
Скопировать только два файла: радиоуправляемый.exe и rcdll.dll от "c:\Program файлы (x86)\Windows Kits\8.1\bin\x86\" to "c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\" и компиляция будет успешной!!
Примечание:
a) не нужно касаться какого-либо пути или других переменных среды Windows или VC.
b) "набор инструментов платформы" (страницы свойств проекта - > Свойства конфигурации - > общие) будет автоматически установлен в " Visual Studio 2013 (v120) "(не изменить его на" Visual Studio 2010", чтобы иметь возможность продолжать развивать свой проект в соответствии с концепциями VC2013)

в моем случае ошибка была вызвана плохой настройкой в vcxproj. Vcxproj был от третьей стороны, поэтому я не уверен, как он попал в это состояние.

в частности, для одного из комбо платформы/профиля папка платформы отсутствовала в папке Windows SDK bin:

<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;

был неверным. Возможно, потребуется прокрутить до конца поля кода, чтобы увидеть разницу.

обратите внимание также, что для некоторых странных причина $(WindowsSdkDir) bin\x64; не работает для меня. Попытался выяснить, почему, когда rc.exe определенно существует в этой папке, но я сдался.

на мой взгляд, решения из предыдущих плакатов, которые включают копирование rc.exe везде ошибаются, потому что ваш проект не будет работать на чужой машине. Если вы исправите пути в проекте правильно, он должен работать на любой машине с правильной установкой Windows SDK.

у меня была такая же проблема на VS 2013 и я смог ее исправить, изменив Platform Toolset.

вы можете найти его в настройках проекта, генеральный.

например переключение Platform Toolset в VS 2010 будет привести против того, чтобы использовать Windows\В7.0А СДК.

вы можете проверить, какой путь SDK используется, добавив это к вашему предварительно построенному событию:

echo using SDK $(WindowsSdkDir)

Я использую Windows 7 с VS 2013 (обновление 3) и Intel Parallel Studio XE Composer Edition для Fortran Windows (Обновление 5). Из коробки у меня была такая же проблема.

Как только я исправил недостающий rc.проблема exe у меня была другая проблема. Компоновщик отсутствовал kernel32.движение за освобождение.

я исправил обе проблемы, обновив параметры Intel Composer (TOOLS - >Options...- >Intel Composer XE - > Visual Fortran - > компиляторы).

для вкладки Win32 I добавлено:

исполняемые файлы: C:\Program файлы (x86)\Windows Kits\8.0\bin\x86;(непосредственно перед $(путь))

библиотеки: C:\Program файлы (x86)\Windows Kits\8.0\Lib\win8\um\x86;(конец)

для вкладки x64 я добавил:

исполняемые файлы: C:\Program файлы (x86)\Windows Kits\8.0\bin\x64;(непосредственно перед $(путь))

библиотеки: C:\Program файлы (x86)\Windows Kits\8.0\Lib\win8\um\x64;(конец)

обновление...

Мне также не хватало некоторых заголовочных файлов SDK (winver.h и winapifamily.ч.) Я добавил следующее к тем же инструментам->параметры... область.

для вкладок win32 и x64

включает в себя: файлы C:\Program (х86) наборы папку\Windows\8.0\включить\ЭМ;файлы C:\Program (х86) наборы папку\Windows\8.0\включить\общий;

Я только что выяснил один (из 3 в общей сложности) проектов в моем решении VS2010 (SDK7.1) (проекты связаны в последовательной цепочке линейных зависимостей), имел .rc-файл в файлах проекта, который был пуст. Удаление пустой .rc-файл (из проекта, не удаляя его) решил "фатальную ошибку LNK1158: ... cvtres.проблема ехе".

обновление: следующая копия исправила проблему:

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\"

Это позволит WinSDK7 .1, через MSBuild, чтобы иметь возможность компилировать.дистанционное управление файлы в исполняемые файлы.

Это может быть вызвано vcxproj, который возник в предыдущих версиях Visual Studio или изменил набор инструментов платформы в свойствах конфигурации -> общие.

Если да, то возможное решение:

1) Перейдите в свойства конфигурации - > каталоги VC++

2) Выберите выпадающее меню для исполняемых каталогов

3) Выберите "наследовать от родителя или проекта по умолчанию"

Это еще проще, чем с Visual Studio 2017. Следуйте этим инструкциям:https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio для изменения с помощью установщика Microsoft Visual Studio.

войдя в установщик Microsoft Visual Studio, нажмите кнопку Изменить в установленном пакете Visual Studio, убедитесь, что проверена разработка рабочего стола с C++, а также поддержка MFC и ATl (x86 и x64) в разделе сводка.

Я на Windows 10 x64 и Visual Studio 2017. Я скопировал и вставил rc.exe и rcdll.dll от:

C:\Program Files (x86)\Windows Kits.1\bin\x86

до

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64

это работает с: (Qt creator 5.7.1)

добавить в окно переменной среды sdk 8.1 путь

C:\Program файлы (x86)\Windows Kits\8.1\bin\x64

затем откройте Командную строку Visual studio x64 Native tools и введите

vcvarsall.летучая мышь

Comments

    Ничего не найдено.