Visual Studio не может построить из-за rc.exe

128

Я поискал в Интернете и не нашел ничего похожего на мою проблему.

Я создал пустой проект 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 Files\Microsoft SDKs\Windows\v7.0\Bin

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

Patrick.SE
источник
К вашему сведению - не работает и в Visual Studio 2013 Professional :(
gbjbaanb
но похоже, что проблема заключается в пути к каталогу Windows SDK (или Windows Kits, как бы они их ни называли на этой неделе). Переменная $ (WindowsSdkDir) не установлена ​​в каталог WindowsKits, вместо этого устанавливается каталог WindowsSDK, который имеет «минимальное» содержимое.
gbjbaanb
3
Хорошее решение для аналогичных проблем VS2015, вызванных VS2017: stackoverflow.com/a/45319119/508431
Исайя Нортон
1
обязательно прочтите ЭТО КРИТИЧЕСКИЙ QA stackoverflow.com/questions/43847542
Fattie

Ответы:

242

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

Часть 2: ИСПРАВИТЬ ССЫЛКУ: fatal error LNK1158: cannot run ‘rc.exe’

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

C: \ Program Files (x86) \ Комплекты Windows \ 8.0 \ bin \ x86

Скопируйте эти файлы:

rc.exe
rcdll.dll

Из

C: \ Program Files (x86) \ Комплекты Windows \ 8.0 \ bin \ x86

к

C: \ Program Files (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") в Глобальные настройки компилятора> Программы> Дополнительные пути в Code :: Blocks.

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

Кэт Кокс
источник
6
Спасибо, это был простой способ копирования исполняемых файлов rc из корзины SDK в корзину VS.
Patrick.SE
Ну, большая часть этого ответа была цитатой ... так что просто чтобы уточнить: «У меня была та же проблема, которую я решил, сделав это:» - это не я, а кое-что, что я нашел в опубликованном
Кэт Кокс
1
Вопрос: почему вы используете файлы x86 rc.exe и rcdll.dll, а не версии x64?
Carl
1
Ну, я просто скопировал и вставил ответы, которые нашел ... но вы бы использовали x86 при 32-битной установке (что могло бы быть даже в 64-битной системе), и вы бы использовали x64 при 64-битной установке ... угадайте это зависит от того, какая версия файла, по его словам, у вас должна быть
Кэт Кокс
2
Я нахожусь C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64и выполняю команды: copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rc.exe"и copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rcdll.dll"чтобы исправить это в Visual Studio 2015
Яри ​​Туркиа
61

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

например, меню Пуск-> Visual Studio 2015-> VS2015 x64 Командная строка собственных инструментов

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

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

MattAU
источник
5
Полагаю, это правильный способ решить эту проблему.
jagttt
2
Хотя у меня такая же ситуация (Win10 с VS2015 И VS2017 также установлены), у меня это не сработало. Единственное, что исправило это для меня, - это вручную добавить "C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin" (последняя версия SDK, содержащая rc.exe) в PATH!
Scylardor
@Scylardor - вы использовали путь для 7.1 SDK. Установлен ли SDK 8.1 в папке C: \ Program Files (x86) \ Microsoft SDKs \ Windows? Возможно, в вашем случае можно будет использовать ту же команду с 7.1 на конце, или же вам может потребоваться установить 8.1 SDK.
MattAU
Я создал командный файл с помощью call C:\\(....)\vcvarsall.bat" amd64 8.1и start cmake-gui, работает как шарм
Мариус
Спасибо, у вас была такая же настройка (бок о бок VS), и это намного чище, чем копирование файлов!
Э. Моффат
32

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

1) перейдите в C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin

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

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

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

Тони
источник
4
Удивительно, но это сработало и для меня, копирование из v7.1A \ Bin в Microsoft Visual Studio 14.0 \ VC \ bin
escapecharacter
У меня это не сработало на Windows server 2012 с VS 2017, установленным вместе с VS 2015.
iLikeDirt
18

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

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

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

Я удалил Build Tools 2015 и переустановил его, на этот раз как выборочную установку, выбрав для установки как Visual C ++, так и компоненты SDK для Windows 10. Это устранило проблему.

ОБНОВЛЕНИЕ: я только что снова посмотрел на Build Tools 2015, и, по-видимому, больше нет варианта пользовательской установки. В таком случае установка Visual Studio 2015 с компонентами C ++ и Windows SDK также должна работать.

OrangeSherbet
источник
2
Большое спасибо, это действительно правильное решение. Примечание. Я попытался добавить SDK с помощью команды «Изменить» программы установки, но она застряла. Пришлось перезагрузить, удалить, а затем установить с нуля.
Violet Giraffe
Может ли кто-нибудь помочь прояснить, что имелось в виду под «... переустановил его [Build Tools 2015], на этот раз в качестве выборочной установки, выбрав для установки как визуальные компоненты C ++, так и Windows 10 SDK». Установлено откуда? Как автономный от Microsoft?
Эстебро,
@estebro Если вы загуглите "Build Tools 2015" и нажмете первую ссылку, вы попадете на страницу загрузки этого автономного пакета Microsoft. Загрузите и установите пакет, однако НЕ позволяйте пакету устанавливаться по умолчанию, если у вас возникла проблема с rc.exe. ВМЕСТО выберите для выборочной установки, и убедитесь , что включить установку Windows SDK (ее не по умолчанию).
OrangeSherbet
1
Это верный, концептуально правильный ответ. Все остальные - это хаки, которые могут не работать; ни один из них не сделал для меня.
iLikeDirt
1
ЭТО OMFG! Спасибо за четкое объяснение. Я столкнулся с той же проблемой, и люди, обвиняющие установку, были отвлекающим маневром. Я пять раз переустанавливал, чтобы увидеть тот же результат.
Ananth
11

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

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

Тодд Руппер
источник
Это исправлено. Спасибо.
My1
7

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

C:\Program Files (x86)\Windows Kits\8.1\bin\x86

в

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64
alfredopacino
источник
3
Эти инструкции предназначены для 32-битной версии. Для 64-битной C:\Program Files (x86)\Windows Kits\8.1\bin\x64версии попробуйте C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64.
Contango
Для нас с Cython это сработало: мы скопировали в, C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64чтобы C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64исправить невозможность сборки Visual Studio из-за ошибки rc.exe
Брэндон В. Кинг,
4

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

Решение 1:
Удалить целая строка «<ExecutablePath Condition =» ... »> ... </ExecutablePath>» в элементе «<PropertyGroup>» в файле NameOfYourSolution.vcxproj в блокноте перед запуском VC2013
Решение 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) Нет необходимости касаться какой-либо переменной PATH или других переменных среды Windows или VC.
б) «Набор инструментов платформы» (Страницы свойств проекта -> Свойства конфигурации -> Общие) будет автоматически установлен на «Visual Studio 2013 (v120)» (не меняйте его на «Visual Studio 2010», чтобы продолжить разработку проекта. в рамках концепции VC2013)

Ангел т
источник
4

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

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

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

Стив
источник
4

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

C:\Program Files (x86)\Windows Kits\8.1\bin\x86

в

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

он работает с: (qt creator 5.7.1)

дронт
источник
3

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

BEEBEE
источник
3

Я недавно столкнулся с этой проблемой. У меня установлены VS 2015 и VS 2017, установлены комплекты Windows 8.1 и 10.

Командная строка из VS 2017 работает нормально, rc.exe виден. В VS 2015 это не так. На самом деле сценарий vcvarsall.bat из VS 2015 добавляет путь к комплекту Windows 10 в переменную PATH, но добавляет немного неправильный путь. Добавляет путь к

"C:\Program Files (x86)\Windows Kits\10\bin\x86"

в то время как фактический путь

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86"

Похоже, что обновление комплекта Windows 10 (или установка VS 2017) привело к этой проблеме.

Решение простое: просто создайте символические ссылки в папке «C: \ Program Files (x86) \ Windows Kits \ 10 \ bin», указывающие на соответствующие папки в основной папке, например, символическую ссылку «x86» для папки «10.0». .17763.0 \ x86 "," x64 "вместо" 10.0.17763.0 \ x64 "и т. Д.

Артём Чирков
источник
2

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

Вы можете найти его в общих настройках проекта.

Например, переключение Platform Toolset на VS 2010 заставит VS использовать Windows \ v7.0A SDK.

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

echo using SDK $(WindowsSdkDir)
laktak
источник
но все же это означает, что VS2013 вообще не поддерживает приложения MFC. Обратите внимание, что rc.exe находится в каталоге «Windows Kits», а не в каталогах SDK. Бесполезный.
gbjbaanb
2

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

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

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

Для вкладки Win32 я добавил:

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

Библиотеки: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ x86; (в конце)

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

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

Библиотеки: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ x64;(в конце)

Обновить...

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

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

Включает: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Include \ um; C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Include \ shared;

Джереми Уитчер
источник
2

Я только что вычислил один (из 3 всего) проектов в моем решении VS2010 (SDK7.1) (проекты связаны в последовательную линейную цепочку зависимостей), в файлах проекта был пустой файл .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\"

Это позволит WinSDK7.1 через MSBuild компилировать файлы .rc в исполняемые файлы.

Sterge
источник
Кстати, следующая копия исправила проблему: 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 компилировать файлы .rc в исполняемые файлы.
Sterge
2

Это даже проще, чем в 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).

Bluto
источник
1

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

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

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

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

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

Гуннар
источник
1

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

C: \ Program Files (x86) \ Комплекты Windows \ 8.1 \ bin \ x64

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

vcvarsall.bat

хан
источник
1

Если вам действительно нужно использовать SDK Windows 10 с Visual Studio 2015, вам необходимо загрузить старую версию в sdk-архиве . Более новая версия SDK изменила место исполняемого файла rc, и MSBuild из Visual Studio 2015 с обновлением 3 (последняя версия) не может его найти. По крайней мере, версия 10.0.14393.795 SDK Windows по-прежнему совместима с Visual Studio 2015.

Ксавье Биганд
источник
Это могло быть реальным объяснением этой раздражающей проблемы. Вот еще один недавний QA по этой проблеме для всех, кто здесь
гуглит
1

Возможно, файл проекта был затронут VS2017. Затем, когда вы связываете проект в 2015 году «ССЫЛКА: фатальная ошибка LNK1158: не удается запустить 'rc.exe'», сборка может тормозиться.

В vcxproj попробуйте:

1) заменить:

<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion> с участием: <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>

2) удалить: <VCProjectVersion>15.0</VCProjectVersion>

3) заменить: <PlatformToolset>v141</PlatformToolset> на: <PlatformToolset>v140</PlatformToolset>

user1439579
источник
1

У меня возникла ошибка ссылки OP rc.exeпри попытке выполнить pip installвнутри bashзадачи в конвейере Azure DevOps, который я использовал для создания пакета Python из исходного кода с расширениями C ++. Я был в состоянии решить ее, добавив путь rc.exeвнутри bashзадачи непосредственно перед вызовом pip install, так как:

PATH="/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64":$PATH

Это было внутри Azure, jobкоторая использовалась vmImage: 'windows-2019'для своего агента; то есть Windows Server 2019 с Visual Studio 2019.

снарк
источник
1

Я смог заставить его работать и в Windows

  1. Установите переменную среды так, чтобы она указывала на расположение вашего rc.exe, если вы используете версию x86.

C: \ Program Files (x86) \ Комплекты Windows \ 10 \ bin \ 10.0.18362.0 \ x86

Вы можете легко установить переменную среды, используя

C:> setx path "% path%; C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x86"

  1. Перезагрузите Qt Creator
  2. Очистить и восстановить
Декстера
источник
0

В моем случае я установил Windows SDK 10586 через Visual Studio 2015 -> Изменить , после чего будут установлены следующие пути.

C: \ Program Files (x86) \ Комплекты Windows \ 10 \ bin \ arm64 \ rc.exe

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64 \ rc.exe

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x86 \ rc.exe

Феликс Сюй
источник
0

Для Visual Studio Community 2019 копирование файлов в ответах выше ( rc.exe rcdll.dll) C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x86помогло мне.

Рахул Кумар
источник
0

У меня Windows 10 Pro x64, VS 19 ..

При попытке установить mod_wsgi для apache в cmd.

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

Мне пришлось скопировать rc.exe и rcdll.dll из

C: \ Program Files (x86) \ Комплекты Windows \ 10 \ bin \ 10.0.18362.0 \ x86

и добавить его в

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

результат из cmd

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

Надеюсь, это кому-то поможет.

dynastoned
источник
0

«Ошибка LNK1158 не может запустить 'rc.exe» может быть результатом того, что ваш проект был открыт более новой версией MS VS. Например, ваш проект был создан в VS 2015, затем был открыт в 2017 году. Позже ваш проект открывается в 2015 году.

Чтобы решить эту проблему, откройте yourProjectName.vcxproj, найдите WindowsTargetPlatformVersion и перейдите на правильную версию VS

Для VS 2015 это должно быть 8.1, для VS 2017 должно быть 10.0.17763.0

Том
источник
0

В моем случае VS 2019 на Windows 10 x64 я следовал в основном тому, что было сказано в ответах, но вставил rc.exeи rcdll.dllот C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86до C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin, где link.exeесть.

Сара С
источник