Windows 10中VS2017找不到fxc.exe

时间:2018-02-28 14:36:05

标签: visual-studio-2017

我将在我的Windows 10工作站中使用HelixToolkit.SharpDX和VS2017,当我尝试构建解决方案时,它会在"未找到fxc.exe&#34时提示Assertion Failed错误;

我已经检查了安装选项,已经包含了Windows SDK,并且我已经下载并再次安装,我可以在" C:\ Program Files(x86)\ Windows Kits \ 10中看到fxc.exe \ BIN \ 10.0.16299.0 \ 64" &安培; " C:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ 10.0.16299.0 \ x86"文件夹,所以它应该适用于任何Windows版本,但不幸的是,报告了同样的错误。

但是,我还在另一台Windows 7机器上安装了VS2017,它运行正常,并且fxc.exe与我的Windows 10工作站位于同一文件夹中,但它可以通过VS2017找到。

VS2017中是否有任何设置可以找到fxc.exe? 或者我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

将Bin \ 10.0.xxx \ x86中的fxc.exe复制到Bin \ x86以解决此问题。因为HLSL编译工具对路径进行了硬编码。

答案 1 :(得分:1)

可以在helix toolkit github页面找到解决方案。

  

Visual Studio 2017.Windows 10 SDK。

     

最新的Windows 10 SDK缺少fxc.exe问题:

     

在C:\ Program Files(x86)\ Windows中复制fxc.exe   套件\ 10 \ Bin \ 10.0.xxx \ x86到C:\ Program Files(x86)\ Windows   套件\ 10 \ bin \ x86来解决这个问题。因为HLSL编译工具很难   编码路径。

答案 2 :(得分:0)

在撰写本文时,这似乎已在Visual Studio 2019 16.0.2中修复。只需确保$(WindowsSDK_ExecutablePath)指向正确的SDK目录以及与“项目属性”页面中的“目标平台”相匹配的生成版本即可。

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

第二个帖子回答:

  

C ++生成过程从Windows SDK目录使用的可执行文件是MIDL.exe,MT.exe和RC.exe。如果您对可执行文件进行数字签名,那么您也可以在此处找到signtool.exe。因此,我很惊讶它正确地找到了一些关键的构建工具,但是却找不到了。

     

我的建议是:

     

1)在Visual Studio 2019 16.0.2(撰写本文时为最新版本)或Visual Studio 2019 Preview(撰写本文时为16.1 Preview 1)中,验证您的项目存在此问题。这是为了检查是否发现它是一个错误,是否已经修复。

     

2)创建一个全新的项目。在不触及项目的可执行路径的情况下,尝试创建一个显示此行为的示例。它不需要是一个完整的示例,只需足够完整即可表明Visual Studio无法找到fxc.exe。

     

3)如果所有这些都表明Visual Studio无法找到fxc.exe,则通过Visual Studio 2019将其报告为错误。

     

但是我要提到的是,天真的测试表明 Visual Studio 2019可以使用18362、17763和17134 SDK编译HLSL着色器而没有任何问题。这些已经过测试,因为这些是我已经安装的版本。