需编译的项目

https://github.com/qt-labs/qtquickdesigner-components

编译环境

Windows 11 23H2
Developer PowerShell for VS 2022
Qt 6.8.0 Community

编译命令

PS D:\Projects\qtquickdesigner-components-qds-dev-4.6\qtquickdesigner-components_build> cmake -G"Ninja" -S ../ -DCMAKE_PREFIX_PATH=D:\\Qt\\6.8.0\\msvc2022_64 -DCMAKE_MAKE_PROGRAM:STRING=D:\\Qt\\Tools\\Ninja\\ninja.exe

错误提示

CMake Error at CMakeLists.txt:55 (find_package):
  Could not find a configuration file for package "Qt6" that is compatible
  with requested version "".

  The following configuration files were considered but not accepted:

    D:/Qt/6.8.0/msvc2022_64/lib/cmake/Qt6/Qt6Config.cmake, version: 6.8.0 (64bit)



-- Configuring incomplete, errors occurred!

这个报错非常有迷惑性,初看会以为是构建时找不到对应的 CMake 依赖版本,虽然最后确实是和这点有关。

解决方案

换成默认 x64 编译器的x64 Native Tools Command Prompt for VS 2022

原因

Developer PowerShell for VS 2022环境默认是 x86 的,CMake 无法接受 x64 的 Qt 库作为可用版本。

如果你的 Qt 程序修改后编译出现了无法理喻的奇怪错误,也可以考虑删除原有的构建文件夹,从头构建,注意不是之前也遇到了这种问题,最后发现可能是旧的编译产物和新的冲突了。