Я пытаюсь создать USBView, один из примеров драйверов Windows.Я скачал это с Github вчера.
Проблема в том, что Visual Studio пытается найти компилятор ресурсов в корне, \ rc.exe.Этот каталог \, очевидно, не существует, поэтому указание реального местоположения и размещение его в пути не имеет отношения к x86 или x64.Visual Studio нужно найти rc.exe
, а не \rc.exe
, просто я не знаю, откуда VS вытащил \
.
Я даже пошел такЧтобы добавить каталог в системную переменную PATH (и перезагрузить ее):
Я видел эту публикацию на SO, который предложил добавить Microsoft.Net.Compilers в проект с помощью NuGet Package Manager.Это предложение не удалось.
Для чего бы это ни стоило, вот скриншот VS:
Диагностический вывод из сборкиМенее, чем полезно.
1>Target "BeforeResourceCompile" in file "C:\Program Files (x86)\Microsoft\Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets":
1>Done building target "BeforeResourceCompile" in project "usbview.vcxproj".
1>Target "MakeDirsForResourceCompile" in file "C:\Program Files (x86)\Microsoft\Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets":
1> Added Item(s): RcDirsToMake=C:\Users\Sarah\Downloads\Projects\Windows-driver-samples-master\usb\usbview\Debug
1> Task "MakeDir"
1> Task Parameter:Directories=C:\Users\Sarah\Downloads\Projects\Windows-driver-samples-master\usb\usbview\Debug
1> Done executing task "MakeDir".
1> Removed Item(s): RcDirsToMake=C:\Users\Sarah\Downloads\Projects\Windows-driver-samples-master\usb\usbview\Debug
1>Done building target "MakeDirsForResourceCompile" in project "usbview.vcxproj".
1>Target "_SelectedFiles" skipped. Previously built successfully.
1>Target "SelectCustomBuild" skipped. Previously built successfully.
1>Target "SelectResourceCompile" in file "C:\Program Files (x86)\Microsoft\Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets":
1>Done building target "SelectResourceCompile" in project "usbview.vcxproj".
1>Target "ResourceCompile" in file "C:\Program Files (x86)\Microsoft\Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets":
1> Using "RC" task from assembly "C:\Program Files (x86)\Microsoft\Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.Build.CppTasks.Common.dll".
1> Task "RC"
1> Task Parameter:Source=uvcview.rc
1> Task Parameter:
1> AdditionalIncludeDirectories=
1> Debug\
1> C:\Program Files (x86)\Microsoft\Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\atlmfc\include
1> Task Parameter:Culture=0x0409
1> Task Parameter:
1> PreprocessorDefinitions=
1> _X86_=1
1> i386=1
1> STD_CALL
1> WIN32_LEAN_AND_MEAN=1
1> _WIN32_WINNT=0x0A00
1> WINVER=0x0A00
1> WINNT=1
1> NTDDI_VERSION=0x0A000004
1> DBG=1
1> SMP_ID=\"{54E86405-9C3D-4F0F-B65C-AB86DE455DD7}\"
1> Task Parameter:ResourceOutputFileName=Debug\uvcview.res
1> Task Parameter:SuppressStartupBanner=True
1> Task Parameter:TrackerLogDirectory=Debug\usbview.tlog\
1> Task Parameter:MinimalRebuildFromTracking=True
1> Task Parameter:ToolArchitecture=Native32Bit
1> Task Parameter:ToolPath=\
1> Task Parameter:TrackFileAccess=True
1> All source files are not up-to-date: missing command TLog "C:\Users\Sarah\Downloads\DevExpress\Projects\Windows-driver-samples-master\usb\usbview\Debug\usbview.tlog\rc.command.1.tlog".
1> C:\Program Files (x86)\Microsoft\Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(1498,5): error MSB6004: The specified task executable location "\rc.exe" is invalid.
1> Done executing task "RC" -- FAILED.
1>Done building target "ResourceCompile" in project "usbview.vcxproj" -- FAILED.
1>
1>Done building project "usbview.vcxproj" -- FAILED.
Кажется, Microsoft обновляет Visual Studio ежедневно, если не чаще, однако вот версия, на которой я сейчас набираю это предложение.У меня Windows 10 Pro x64, которая также не так плоха в отношении вечных обновлений.
Win32 соответствует варианту x86, но я сделалпопробуйте оба.Как я уже упоминал, проблема действительно заключается в \
.
Я перепробовал все приведенные выше варианты.
Мысли?