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 для управляемых реализаций, поэтому я надеюсь, что у кого-то есть идея.
16 ответов:
нашел это в Google... Я бы предположил, что в вашем случае вы бы копировали
rc.exeиrcdll.dlltovisual 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 нет.
и так:
У меня та же проблема, которую я решил делать так:
- установка Microsoft .Net Framework 2.0
- добавление пути к файлам .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