Important: Please read the Qt Code of Conduct -

Building qtdeclarative Gives "fxc.exe: No such file or directory"

  • I am currently attempting to build Qt 5.15.2 from source for cross-compiling to x64 Windows, building on a WSL host (Debian). My initial build of the base library and modules has succeeded, but when I attempted to try and build a project as a test, I found that I needed qtdeclarative (specifically, I needed qml), which I had skipped. However, when attempting to build it, it attempts to use fxc.exe to compile some shaders--I'm not sure for what exactly, but given that I'm building on WSL, it obviously doesn't work. My configuration when building is as follows:

    configure -opensource -no-compile-examples -platform linux-g++-64 -xplatform win32-g++ -device-option CROSS_COMPILE=/usr/bin/x86_64-w64-mingw32- -skip qtactiveqt -skip qtwebengine -skip wayland -skip qtandroidextras -skip qttranslations -skip qt3d -skip qtcanvas3d -skip qtgraphicaleffects -skip qtcharts -skip qtwebview -skip qtserialbus -skip qtdatavis3d -skip qtmultimedia -skip qtdeclarative -static -opengl desktop -prefix /usr/local/qt-5.15.2 -confirm-license

    I'm not sure why exactly it's doing this, and I am not sure if there is any way to skip this build step or use an alternative. Does anyone else have some insight on what I might be doing wrong?

  • I ran into this problem trying to compile ffmpeg with a QT dependancy.... to get past the not found I had to have a path to windows kit that held the fxc.exe file in my case C:\Program Files (x86)\Windows Kits\8.1\bin\x64. the cause seems to be in my case ? \qtdeclarative-git\plugins\scenegraph\d3....the make file has 26 shader header files it is trying to create with fxc.exe . Adding the path gets rid of the file not found BUT it does not get rid of the compile error the command in the make file does not execute correctly at this point it gives a too many files error . (I am still working on that part of it before I bug report it . This is assuming I am using the right fxc.exe and it can be run correctly from inside the build environment in my case mingwin. So if you have any feedback on how you got this working (IF) it would be appreciated here as well .

    I suspect that the make file has a TAB before the command that is causing the problem

    because if i cut and paste the commands with the tab i get errors but if i remove the tab it runs fine .