简体   繁体   English

Windows 10中VS2017找不到fxc.exe

[英]fxc.exe not found by VS2017 in windows 10

I'm going to use the HelixToolkit.SharpDX with VS2017 in my Windows 10 workstation, when I attempt to build the solution, it will prompt the Assertion Failed error with "No fxc.exe found". 我将在Windows 10工作站中使用HelixToolkit.SharpDX和VS2017,当我尝试构建解决方案时,它会在“找不到fxc.exe”时提示Assertion Failed错误。

I have checked the installation option, Windows SDK has been included, nand I have downloaded and install again, and I can see the fxc.exe in "C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.16299.0\\x64" & "C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.16299.0\\x86" folders, so it should be available for any windows version, but unfortunately, the same error reported. 我已经检查了安装选项,已经包含了Windows SDK,并且我已经下载并再次安装,我可以在“C:\\ Program Files(x86)\\ Windows Kits \\ 10 \\ bin \\ 10.0.16299.0”中看到fxc.exe \\ x64“&”C:\\ Program Files(x86)\\ Windows Kits \\ 10 \\ bin \\ 10.0.16299.0 \\ x86“文件夹,因此它应该可用于任何Windows版本,但不幸的是,报告了相同的错误。

However, I have also installed VS2017 in another Windows 7 machine, it works fine, and it has the fxc.exe in the same folder as my Windows 10 workstation, but it can be located by VS2017. 但是,我还在另一台Windows 7机器上安装了VS2017,它工作正常,并且fxc.exe与我的Windows 10工作站位于同一文件夹中,但可以通过VS2017找到它。

Is there any setting in VS2017 to locate the fxc.exe? 在VS2017中是否有任何设置来定位fxc.exe? Or how can I fix this issue? 或者我该如何解决这个问题?

Copy fxc.exe in Bin\\10.0.xxx\\x86 to Bin\\x86 to fix this issue. 将Bin \\ 10.0.xxx \\ x86中的fxc.exe复制到Bin \\ x86以解决此问题。 Because the HLSL compile tool hard coded the path. 因为HLSL编译工具硬编码了路径。

One can find solution on helix toolkit github page. 可以在helix toolkit github页面上找到解决方案。

Visual Studio 2017. Windows 10 SDK. Visual Studio 2017.Windows 10 SDK。

Missing fxc.exe issue with newest Windows 10 SDK: 最新的Windows 10 SDK缺少fxc.exe问题:

Copy fxc.exe in C:\\Program Files (x86)\\Windows Kits\\10\\Bin\\10.0.xxx\\x86 to C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x86 to fix this issue. 将C:\\ Program Files(x86)\\ Windows Kits \\ 10 \\ Bin \\ 10.0.xxx \\ x86中的fxc.exe复制到C:\\ Program Files(x86)\\ Windows Kits \\ 10 \\ bin \\ x86以解决此问题。 Because the HLSL compile tool hard coded the path. 因为HLSL编译工具硬编码了路径。

This seems to have been fixed in Visual Studio 2019 16.0.2, as of writing. 在编写时,这似乎已在Visual Studio 2019 16.0.2中得到修复。 Just have to make sure $(WindowsSDK_ExecutablePath) is pointing to the correct SDK directory and the build version that matches with the Targeted Platform in the Project Properties page. 只需确保$(WindowsSDK_ExecutablePath)指向正确的SDK目录以及与Project Properties页面中的Targeted Platform匹配的构建版本。

https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/a3032567-d8e7-4b01-81b7-0612047a6299/why-do-we-need-to-copypaste-fxcexe-from-bin100xxxxx0x86-to-binx86-directory-in-the?forum=windowssdk https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/a3032567-d8e7-4b01-81b7-0612047a6299/why-do-we-need-to-copypaste-fxcexe-from-bin100xxxxx0x86-to- binx86目录合的?论坛= windowssdk

Second post answered: 第二篇帖子回答:

The executables that the C++ build process uses from the Windows SDK directory are MIDL.exe, MT.exe and RC.exe. C ++构建过程从Windows SDK目录使用的可执行文件是MIDL.exe,MT.exe和RC.exe。 If you digitally sign your executables then you will find signtool.exe here too. 如果您对可执行文件进行数字签名,那么您也可以在这里找到signtool.exe。 So I am kind of surprised that it finds some critical build tools correctly but others it fails to find. 所以我很惊讶它发现了一些正确的关键构建工具,但其他人却找不到。

My suggestion would be: 我的建议是:

1) Verify that you are having this problem with your project in Visual Studio 2019 16.0.2 (the latest version at the time of writing) or Visual Studio 2019 Preview (16.1 Preview 1 at the time of writing). 1)在Visual Studio 2019 16.0.2(编写本文时的最新版本)或Visual Studio 2019预览(编写本文时为16.1预览版1)中验证您的项目是否存在此问题。 This is to check that if this has been found to be a bug, then it could have been fixed. 这是检查如果发现这是一个错误,那么它可能已被修复。

2) Create a completely new project. 2)创建一个全新的项目。 Without touching the project's executable path, try to create a sample that shows this behaviour. 在不触及项目的可执行路径的情况下,尝试创建显示此行为的示例。 It doesn't need to be a full sample, just complete enough to show that Visual Studio fails to find fxc.exe. 它不需要是一个完整的示例,只需足以证明Visual Studio无法找到fxc.exe。

3) If doing all of this shows that Visual Studio fails to find fxc.exe, then through Visual Studio 2019, report it as a bug. 3)如果执行所有这些操作表明Visual Studio无法找到fxc.exe,那么通过Visual Studio 2019将其报告为错误。

But I will mention that a naïve test on my end shows that Visual Studio 2019 can compile HLSL shaders without any issues using the 18362, 17763 and 17134 SDKs . 但我要提一下,我的最终测试表明Visual Studio 2019可以使用18362,17763和17134 SDK编译HLSL着色器而不会出现任何问题 These were tested because these are the versions that I have installed. 这些都经过测试,因为这些是我安装的版本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法在带有VS2017的Windows 10上安装Distorm - Can't install distorm on Windows 10 with VS2017 如何在VS2017 Cordova(Windows 10)中安装模拟器 - How to install emulators in VS2017 Cordova (Windows 10) 我在Windows 10上使用VS2017编译了一个安装项目。它可以在XP上运行吗? - I compiled a setup project with VS2017 on Windows 10. Can it run on XP? 由于Windows操作系统不同,VS2017(vstest.console.exe)运行单元测试失败 - Running Unit Tests fails with VS2017 (vstest.console.exe) because the Windows OS is different 在Windows 7中运行VS2017应用程序 - Running VS2017 application in Windows 7 Windows 7中的VS2017“尝试确定dotnet.exe的进程ID时出错” - VS2017 in Windows 7 “An error occured attempting to determine the process id of dotnet.exe” 无法在带有 VS2017 的 Windows 10 上安装和使用 gRPC C/C++ - Unable to install and use gRPC C/C++ on windows 10 with VS2017 Windows上使用VS2017或VSCode的Pony语言 - Pony language on Windows with VS2017 or VSCode VS2017-devenv.exe-未知的硬错误 - VS2017 - devenv.exe - Unknown Hard Error 在VS2017中的.NET核心项目中发布时创建一个exe - Create an exe on publish in a .NET core project in VS2017
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM