需编译的项目
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 程序修改后编译出现了无法理喻的奇怪错误,也可以考虑删除原有的构建文件夹,从头构建,注意不是之前也遇到了这种问题,最后发现可能是旧的编译产物和新的冲突了。