Important: Please read the Qt Code of Conduct -

Library 'vulkan' is not defined. with QMake, clang6, Qt 5.10.1

  • Hi,

    I've just upgraded to clang6, and my qmake projects with Qt 5.10.1 all fail to configure now with the error:
    "Library 'vulkan' is not defined."

    I have no issues with GCC 7.3 or with CMake based projects.

    I've noticed that "#define QT_FEATURE_vulkan 1" has been set to 1 now, where it was -1 before, but even changing it to -1 manually does not seem to fix the issue.

    Any help is appreciated,

  • Lifetime Qt Champion


    Do you mean that the vulkan option gets activated only when building with clang ?

  • I don't think the option is activated only with Clang, the macro I talked about is a system include and thus would not change between compilers.
    Maybe there's something missing in the clang toolchain? Or maybe it's an option that Clang triggers and not GCC.
    I am not sure really. And I'm not sure how to check whether the Vulkan option is activated with GCC.

  • Lifetime Qt Champion

    Can you explain exactly how you setup things ?

  • I came across this error too (haven't looked for a work around yet). Anyway, SGaist asked how to set things up to get this error, so thought I'd share...

    1. Start a VS command prompt (I'm using VS2017)
      C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\LaunchDevCmd.bat

    2. Set QMAKESPEC
      set QMAKESPEC=winrt-x64-msvc2017

    3. Run qmake
      qmake -tp vc

    I get "Project ERROR: Library 'vulkan' is not defined". This has something to do with the "winrt-x64-msvc2017" part (I think). I'm able to run qmake OK with other values for QMAKESPEC.

  • Lifetime Qt Champion

    Based on this blog post Vulkan is not available for WinRT in Qt 5.10.

  • Yes, I've managed to solved this by correctly setting the makespec as well. I think it was using old spec files for a previous Qt/Clang version which caused the non-obvious issue.

    Thanks for the help.

Log in to reply