xmake-io / xmake

🔥 A cross-platform build utility based on Lua
https://xmake.io
Apache License 2.0
9.73k stars 767 forks source link

添加`qt5widget`包后,xmake的qt规则无法自动识别qt路径 #5347

Open jingkaimori opened 1 month ago

jingkaimori commented 1 month ago

Xmake 版本

xmake v2.9.3+HEAD.a5da06f37

操作系统版本和架构

Windows 10 22H2

描述问题

target中添加qt5widget包和qt.widgetapp规则后,xmake无法自动识别qt路径,必须手工指定qt的路径

期待的结果

像2.8.x一样,即使qmake不在PATH环境变量中,xmake可以根据qt5widget安装的内容,自动识别qt路径

工程配置

target("test") do
    add_packages({
        "rtmidi",
        "qt5widgets"
    })
    add_rules("qt.widgetapp")

附加信息和错误日志

checking for platform ... windows
checking for architecture ... x64
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\HostX64\x64\cl.exe
checking for Microsoft Visual Studio (x64) version ... 2022
checking for Microsoft C/C++ Compiler (x64) version ... 19.40.33811
checkinfo: cannot runv(zig.exe version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(zig.exe version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(nim.exe --version), No such file or directory
checking for nim ... no
checkinfo: cannot runv(nim.exe --version), No such file or directory
checking for nim ... no
checking for unzip ... ok
checking for git ... ok
checking for gzip ... ok
checking for tar ... ok
git rev-parse HEAD
checking for cmake ... no
checking for cmake ... no
checking for cmake ... no
checking for python ... no
checking for python3 ... no
checking for python ... no
checking for python2 ... no
checking for python ... no
checkinfo: cannot runv(python3.exe --version), No such file or directory
checking for python3 ... no
checking for python ... ok
python -c "import pip"
python -c "import setuptools"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'setuptools'
checking for meson ... no
checkinfo: cannot runv(meson.exe --version), No such file or directory
checking for meson ... no
checking for ninja ... no
checking for ninja ... no
checking for ninja ... no
finding libffi from xmake ..
checking for xmake::libffi ... libffi 3.4.6
finding zlib from xmake ..
checking for xmake::zlib ... zlib v1.3.1
finding libintl from xmake ..
checking for xmake::libintl ... libintl 0.22.3
checking for pkgconf ... no
finding pcre2 from xmake ..
checking for xmake::pcre2 ... pcre2 10.42
finding glib from xmake ..
checking for xmake::glib ... glib 2.78.1
finding libiconv from xmake ..
checking for xmake::libiconv ... libiconv 1.17
finding libogg from xmake ..
checking for xmake::libogg ... libogg v1.3.4
finding libflac from xmake ..
checking for xmake::libflac ... libflac 1.4.3
finding libopus from xmake ..
checking for xmake::libopus ... libopus 1.5.2
finding libvorbis from xmake ..
checking for xmake::libvorbis ... libvorbis 1.3.7
finding libsndfile from xmake ..
checking for xmake::libsndfile ... libsndfile 1.2.2
finding fluidsynth from xmake ..
checking for xmake::fluidsynth ... fluidsynth v2.3.3
checking for aqt ... no
checkinfo: runv(aqt.exe --version) failed(1)
checkinfo: runv(C:\Users\jingkaimori\AppData\Roaming\Python\Python310\Scripts\aqt.exe --version) failed(1)
checking for aqt ... no
checkinfo: cannot runv(qmake.exe --version), No such file or directory
checking for qmake ... no
checkinfo: cannot runv(qmake6.exe --version), No such file or directory
checking for qmake6 ... no
checkinfo: cannot runv(qmake-qt5.exe --version), No such file or directory
checking for qmake-qt5 ... no
checking for Qt SDK directory ... no
finding qt5base from xmake ..
checking for xmake::qt5base ... no
checking for Qt SDK directory ... no
finding qt5base from vcpkg ..
finding qt5base from conan ..
finding qt5base from pkgconfig ..
checkinfo: cannot runv(pkg-config.exe --version), No such file or directory
checking for pkg-config ... no
checkinfo: cannot runv(pkgconf.exe --version), No such file or directory
checking for pkgconf ... no
finding qt5base from system ..
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\HostX64\x64\cl.exe
checking for the c compiler (cc) ... cl.exe
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.40.33807\\bin\\HostX64\\x64\\cl.exe" -c -nologo -FoC:\Users\JINGKA~1\AppData\Local\Temp\.xmake\240715\_153EA13E216044608E7B2810B4207280.o C:\Users\JINGKA~1\AppData\Local\Temp\.xmake\240715\_775FB00633BC4F66BF87D39CCDE5CF30.c
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\HostX64\x64\cl.exe
checking for the c++ compiler (cxx) ... cl.exe
checking for link.exe ... C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\HostX64\x64\link.exe
checking for the linker (ld) ... link.exe
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.40.33807\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 qt5base.lib -out:C:\Users\JINGKA~1\AppData\Local\Temp\.xmake\240715\_153EA13E216044608E7B2810B4207280.b C:\Users\JINGKA~1\AppData\Local\Temp\.xmake\240715\_153EA13E216044608E7B2810B4207280.o
> checking for c links(qt5base)
> checking for c snippet(find_package/qt5base)
checkinfo: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\modules\core\tools\link.lua:175: LINK : fatal error LNK1181: 无法打开输入文件“qt5base.lib” 

stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:973]:
    [@programdir\modules\core\tools\link.lua:175]: in function 'catch'
    [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
    [@programdir\modules\core\tools\link.lua:150]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]:
    [@programdir\core\tool\linker.lua:221]: in function 'link'
    [...gramdir\core\sandbox\modules\import\core\tool\linker.lua:73]: in function 'link' 
    [@programdir\modules\lib\detect\check_cxsnippets.lua:249]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:236]:
    [@programdir\modules\package\manager\system\find_package.lua:103]:
    [@programdir\modules\package\manager\find_package.lua:84]: in function '_find_package_with_builtin_rule'
    [@programdir\modules\package\manager\find_package.lua:130]: in function '_find_package'
    [@programdir\modules\package\manager\find_package.lua:194]:
    [@programdir\modules\lib\detect\find_package.lua:109]:
    [@programdir\core\package\package.lua:1844]: in function '_fetch_library'
    [@programdir\core\package\package.lua:2011]: in function 'fetch'
    [...modules\private\action\require\impl\install_packages.lua:335]: in function 'jobfunc'
    [@programdir\modules\async\runjobs.lua:241]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\async\runjobs.lua:223]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:406]:

checking for qt5base ... no
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5core from xmake ..
checking for xmake::qt5core ... qt5core 5.15.2
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5gui from xmake ..
checking for xmake::qt5gui ... qt5gui 5.15.2
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5widgets from xmake ..
checking for xmake::qt5widgets ... qt5widgets 5.15.2
finding rtmidi from xmake ..
checking for xmake::rtmidi ... rtmidi 6.0.0
checking for Qt SDK directory ... no
error: @programdir\core\main.lua:329: @programdir\rules\qt\env\xmake.lua:30: Qt SDK not found!
stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:973]: in function 'raiselevel'
    [@programdir\core\sandbox\modules\utils.lua:143]: in function 'assert'
    [@programdir\rules\qt\env\xmake.lua:30]: in function 'on_config'
    [...dir\core\sandbox\modules\import\core\project\project.lua:133]: in function '_config_target'
    [...dir\core\sandbox\modules\import\core\project\project.lua:157]: in function '_config_targets'
    [...dir\core\sandbox\modules\import\core\project\project.lua:204]: in function 'load_targets'
    [@programdir\actions\config\main.lua:407]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]:
    [@programdir\core\base\task.lua:491]: in function 'run'
    [@programdir\core\main.lua:327]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:406]:

stack traceback:
        [C]: in function 'error'
        @programdir\core\base\os.lua:973: in function 'base/os.raiselevel'
        (...tail calls...)
        @programdir\core\main.lua:329: in upvalue 'cotask'
        @programdir\core\base\scheduler.lua:406: in function <@programdir\core\base\scheduler.lua:399>
warning: please use add_configs("runtimes") instead of add_configs("vs_runtime").        
warning: configs.runtimes is readonly in package(qt5widgets), it's always MD
warning: configs.runtimes is readonly in package(qt5core), it's always MD
warning: configs.runtimes is readonly in package(qt5base), it's always MD
warning: configs.runtimes is readonly in package(aqt), it's always MD
warning: configs.runtimes is readonly in package(qt5gui), it's always MD
Issues-translate-bot commented 1 month ago

Bot detected the issue body's language is not English, translate it automatically.


Title: After adding the qt5widget package, xmake’s qt rules cannot automatically identify the qt path

waruqi commented 1 month ago

这不可以的么

add_rules("mode.debug", "mode.release")

add_requires("qt5widgets")

target("testqt2")
    add_rules("qt.widgetapp")
    add_headerfiles("src/*.h")
    add_files("src/*.cpp")
    add_files("src/mainwindow.ui")
    -- add files with Q_OBJECT meta (only for qt.moc)
    add_files("src/mainwindow.h")
    add_packages("qt5widgets")
PS C:\Users\wangrunqing\Downloads\testqt2> xmake -vD
checking for platform ... windows
checking for architecture ... x64
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\cl.exe
checking for Microsoft Visual Studio (x64) version ... 2022
checking for Microsoft C/C++ Compiler (x64) version ... 19.41.33923
checkinfo: cannot runv(zig.exe version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(zig.exe version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(nim.exe --version), No such file or directory
checking for nim ... no
checkinfo: cannot runv(nim.exe --version), No such file or directory
checking for nim ... no
checkinfo: cannot runv(unzip.exe -v), No such file or directory
checking for unzip ... no
checking for 7z ... D:\projects\personal\xmake\xmake\winenv\bin\7z
checking for git ... ok
checkinfo: cannot runv(gzip.exe --version), No such file or directory
checking for gzip ... no
git rev-parse HEAD
checking for aqt ... no
checking for Qt SDK directory ... C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e
checking for Qt SDK version ... 5.15.2
checking for xmake-repo::qt5base ... qt5base 5.15.2
checking for xmake-repo::qt5core ... qt5core 5.15.2
checking for xmake-repo::qt5gui ... qt5gui 5.15.2
checking for xmake-repo::qt5widgets ... qt5widgets 5.15.2
checking for link.exe ... C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\link.exe
checking for the linker (ld) ... link.exe
[ 28%]: compiling.qt.ui src\mainwindow.ui
C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\bin\uic.exe src\mainwindow.ui -o build\.gens\testqt2\windows\x64\release\rules\qt\ui\ui_mainwindow.h
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\cl.exe
checking for the c++ compiler (cxx) ... cl.exe
checking for C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\cl.exe ... ok
checking for flags (-O2) ... ok
> cl.exe "-O2" "-nologo"
checking for flags (cl_external_includedir) ... ok
> cl.exe "-external:W0" "-external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui" "-nologo"
checking for flags (-DNDEBUG) ... ok
> cl.exe "-DNDEBUG" "-nologo"
[ 42%]: compiling.qt.moc src\mainwindow.h
C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\bin\moc.exe -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -D_WINDOWS -IC:/Users/wangrunqing/Downloads/testqt2/build/.gens/testqt2/windows/x64/release/rules/qt/ui -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtGui -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtGui/5.15.2 -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtGui/5.15.2/QtGui -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtWidgets -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtWidgets/5.15.2 -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtWidgets/5.15.2/QtWidgets -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtCore -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtCore/5.15.2 -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtCore/5.15.2/QtCore -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/mkspecs/win32-msvc src\mainwindow.h -o build\.gens\testqt2\windows\x64\release\src\moc_mainwindow.cpp
C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\cl.exe -c -nologo -O2 -std:c++11 -MD -IC:\Users\wangrunqing\Downloads\testqt2\build\.gens\testqt2\windows\x64\release\rules\qt\ui -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -D_WINDOWS /EHsc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2\QtCore -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\mkspecs\win32-msvc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore -DNDEBUG -Fobuild\.objs\testqt2\windows\x64\release\gens\src\moc_mainwindow.cpp.obj build\.gens\testqt2\windows\x64\release\src\moc_mainwindow.cpp
cl: 命令行 warning D9002 :忽略未知选项“-std:c++11”
moc_mainwindow.cpp
[ 57%]: compiling.release src\main.cpp
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -O2 -std:c++11 -MD -IC:\Users\wangrunqing\Downloads\testqt2\build\.gens\testqt2\windows\x64\release\rules\qt\ui -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -D_WINDOWS /EHsc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2\QtCore -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\mkspecs\win32-msvc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore -DNDEBUG -Fobuild\.objs\testqt2\windows\x64\release\src\main.cpp.obj src\main.cpp
[ 71%]: compiling.release src\mainwindow.cpp
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -O2 -std:c++11 -MD -IC:\Users\wangrunqing\Downloads\testqt2\build\.gens\testqt2\windows\x64\release\rules\qt\ui -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -D_WINDOWS /EHsc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2\QtCore -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\mkspecs\win32-msvc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore -DNDEBUG -Fobuild\.objs\testqt2\windows\x64\release\src\mainwindow.cpp.obj src\mainwindow.cpp
checking for flags (cl_sourceDependencies) ... ok
> cl.exe "/sourceDependencies" "C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240720\_71E78789400547208ACC95ED3FB96A80.json" "-nologo"
cl: 命令行 warning D9002 :忽略未知选项“-std:c++11”
cl: 命令行 warning D9002 :忽略未知选项“-std:c++11”
[ 85%]: linking.release testqt2.exe
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 -libpath:C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\lib /opt:ref /opt:icf Qt5Gui.lib Qt5Widgets.lib Qt5Core.lib qtfreetype.lib qtlibpng.lib qtmain.lib ws2_32.lib gdi32.lib ole32.lib advapi32.lib shell32.lib user32.lib opengl32.lib imm32.lib winmm.lib iphlpapi.lib -subsystem:windows -entry:mainCRTStartup -out:build\windows\x64\release\testqt2.exe build\.objs\testqt2\windows\x64\release\src\main.cpp.obj build\.objs\testqt2\windows\x64\release\src\mainwindow.cpp.obj build\.objs\testqt2\windows\x64\release\gens\src\moc_mainwindow.cpp.obj
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\cl.exe
checking for the c compiler (cc) ... cl.exe

build cache stats:
cache directory: build\.build_cache
cache hit rate: 0%
cache hit: 0
cache hit total time: 0.000s
cache miss: 0
cache miss total time: 0.000s
new cached files: 0
remote cache hit: 0
remote new cached files: 0
preprocess failed: 0
compile fallback count: 0
compile total time: 0.000s

[100%]: build ok, spent 4.234s
jingkaimori commented 1 month ago

我又用最新dev版试了一下,发现还是不行,为什么我这边会报错说找不到xmake::qt5base包?正常来说应该是xmake-repo::qt5base包吧

> xmake repo --list     
local repositories:

global repositories:
    build-artifacts https://gitee.com/xmake-mirror/build-artifacts.git main
    xmake-repo https://gitee.com/tboox/xmake-repo.git master
    builtin-repo C:\Program Files\xmake\repository

3 repositories were found!
waruqi commented 1 month ago

我这里可以,请提供可复现的完整 example

Issues-translate-bot commented 1 month ago

Bot detected the issue body's language is not English, translate it automatically.


I can do it here. Please provide a complete and reproducible example.

jingkaimori commented 1 month ago

就是你提供的这个例子,我这边还是找不到qt的路径:

checking for platform ... windows
checking for architecture ... x64
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\HostX64\x64\cl.exe
checking for Microsoft Visual Studio (x64) version ... 2022
checking for Microsoft C/C++ Compiler (x64) version ... 19.40.33811
checkinfo: cannot runv(zig.exe version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(zig.exe version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(nim.exe --version), No such file or directory
checking for nim ... no
checkinfo: cannot runv(nim.exe --version), No such file or directory
checking for nim ... no
checking for unzip ... ok
checking for git ... ok
checking for gzip ... ok
checking for tar ... ok
git rev-parse HEAD
checking for aqt ... no
checkinfo: runv(aqt.exe --version) failed(1)
checkinfo: runv(C:\Users\jingkaimori\AppData\Roaming\Python\Python310\Scripts\aqt.exe --version) failed(1)
checking for aqt ... no
checkinfo: cannot runv(qmake.exe --version), No such file or directory
checking for qmake ... no
checkinfo: cannot runv(qmake6.exe --version), No such file or directory
checking for qmake6 ... no
checkinfo: cannot runv(qmake-qt5.exe --version), No such file or directory
checking for qmake-qt5 ... no
checking for Qt SDK directory ... no
finding qt5base from xmake ..
checking for xmake::qt5base ... no
checking for Qt SDK directory ... no
finding qt5base from vcpkg ..
finding qt5base from conan ..
finding qt5base from pkgconfig ..
checkinfo: cannot runv(pkg-config.exe --version), No such file or directory
checking for pkg-config ... no
checkinfo: cannot runv(pkgconf.exe --version), No such file or directory
checking for pkgconf ... no
finding qt5base from system ..
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\HostX64\x64\cl.exe
checking for the c compiler (cc) ... cl.exe
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.40.33807\\bin\\HostX64\\x64\\cl.exe" -c -nologo -FoC:\Users\JINGKA~1\AppData\Local\Temp\.xmake\240722\_E9A92D145BDE4D508EE49B16BA780BA0.o C:\Users\JINGKA~1\AppData\Local\Temp\.xmake\240722\_775FB00633BC4F66BF87D39CCDE5CF30.c
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\HostX64\x64\cl.exe
checking for the c++ compiler (cxx) ... cl.exe
checking for link.exe ... C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\HostX64\x64\link.exe
checking for the linker (ld) ... link.exe
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.40.33807\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 qt5base.lib -out:C:\Users\JINGKA~1\AppData\Local\Temp\.xmake\240722\_E9A92D145BDE4D508EE49B16BA780BA0.b C:\Users\JINGKA~1\AppData\Local\Temp\.xmake\240722\_E9A92D145BDE4D508EE49B16BA780BA0.o
> checking for c links(qt5base)
> checking for c snippet(find_package/qt5base)
checkinfo: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\modules\core\tools\link.lua:175: LINK : fatal error LNK1181: 无法打开输入文件“qt5base.lib”

stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:973]:
    [@programdir\modules\core\tools\link.lua:175]: in function 'catch'
    [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
    [@programdir\modules\core\tools\link.lua:150]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]:
    [@programdir\core\tool\linker.lua:222]: in function 'link'
    [...gramdir\core\sandbox\modules\import\core\tool\linker.lua:73]: in function 'link'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:249]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:236]:
    [@programdir\modules\package\manager\system\find_package.lua:103]:
    [@programdir\modules\package\manager\find_package.lua:84]: in function '_find_package_with_builtin_rule'
    [@programdir\modules\package\manager\find_package.lua:130]: in function '_find_package'
    [@programdir\modules\package\manager\find_package.lua:194]:
    [@programdir\modules\lib\detect\find_package.lua:109]:
    [@programdir\core\package\package.lua:1844]: in function '_fetch_library'
    [@programdir\core\package\package.lua:2011]: in function 'fetch'
    [...modules\private\action\require\impl\install_packages.lua:335]: in function 'jobfunc'
    [@programdir\modules\async\runjobs.lua:241]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\async\runjobs.lua:223]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:406]:

checking for qt5base ... no
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5core from xmake ..
checking for xmake::qt5core ... qt5core 5.15.2
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5gui from xmake ..
checking for xmake::qt5gui ... qt5gui 5.15.2
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5widgets from xmake ..
checking for xmake::qt5widgets ... qt5widgets 5.15.2
checking for Qt SDK directory ... no
error: @programdir\core\main.lua:329: @programdir\rules\qt\env\xmake.lua:30: Qt SDK not found!
stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:973]: in function 'raiselevel'
    [@programdir\core\sandbox\modules\utils.lua:143]: in function 'assert'
    [@programdir\rules\qt\env\xmake.lua:30]: in function 'on_config'
    [...dir\core\sandbox\modules\import\core\project\project.lua:133]: in function '_config_target'
    [...dir\core\sandbox\modules\import\core\project\project.lua:157]: in function '_config_targets'
    [...dir\core\sandbox\modules\import\core\project\project.lua:204]: in function 'load_targets'
    [@programdir\actions\config\main.lua:407]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]:
    [@programdir\core\base\task.lua:491]: in function 'run'
    [@programdir\core\main.lua:327]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:406]:

stack traceback:
        [C]: in function 'error'
        @programdir\core\base\os.lua:973: in function 'os.raiselevel'
        (...tail calls...)
        @programdir\core\main.lua:329: in upvalue 'cotask'
        @programdir\core\base\scheduler.lua:406: in function <@programdir\core\base\scheduler.lua:399>
warning: please use add_configs("runtimes") instead of add_configs("vs_runtime").
warning: configs.runtimes is readonly in package(qt5widgets), it's always MD
warning: configs.runtimes is readonly in package(qt5core), it's always MD
warning: configs.runtimes is readonly in package(qt5base), it's always MD
warning: configs.runtimes is readonly in package(aqt), it's always MD
warning: configs.runtimes is readonly in package(qt5gui), it's always MD
waruqi commented 1 month ago

我全部清空重来了一遍,还是没法复现,一切正常。你可以自己调下相关包,和 qt 相关的 rules

PS C:\Users\wangrunqing\Downloads\testqt2> xmake -vD
checking for platform ... windows
checking for architecture ... x64
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\cl.exe
checking for Microsoft Visual Studio (x64) version ... 2022
checking for Microsoft C/C++ Compiler (x64) version ... 19.41.33923
checkinfo: cannot runv(zig.exe version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(zig.exe version), No such file or directory
checking for zig ... no
checkinfo: cannot runv(nim.exe --version), No such file or directory
checking for nim ... no
checkinfo: cannot runv(nim.exe --version), No such file or directory
checking for nim ... no
checkinfo: cannot runv(unzip.exe -v), No such file or directory
checking for unzip ... no
checking for 7z ... D:\projects\personal\xmake\xmake\winenv\bin\7z
checking for git ... ok
checkinfo: cannot runv(gzip.exe --version), No such file or directory
checking for gzip ... no
checking for ping ... ok
pinging the host(gitee.com) ... 16 ms
pinging the host(github.com) ... 64 ms
pinging the host(gitlab.com) ... 31 ms
git rev-parse HEAD
checking for aqt ... no
checkinfo: cannot runv(qmake.exe --version), No such file or directory
checking for qmake ... no
checkinfo: cannot runv(qmake6.exe --version), No such file or directory
checking for qmake6 ... no
checkinfo: cannot runv(qmake-qt5.exe --version), No such file or directory
checking for qmake-qt5 ... no
checking for Qt SDK directory ... no
finding qt5base from xmake ..
checking for xmake::qt5base ... no
checking for Qt SDK directory ... no
finding qt5base from vcpkg ..
finding qt5base from conan ..
finding qt5base from pkgconfig ..
checkinfo: cannot runv(pkg-config.exe --version), No such file or directory
checking for pkg-config ... no
checkinfo: cannot runv(pkgconf.exe --version), No such file or directory
checking for pkgconf ... no
finding qt5base from system ..
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\cl.exe
checking for the c compiler (cc) ... cl.exe
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -FoC:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_C7D9B022016E49008380393DCEE54C30.o C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_775FB00633BC4F66BF87D39CCDE5CF30.c
checking for cl.exe ... C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\cl.exe
checking for the c++ compiler (cxx) ... cl.exe
checking for link.exe ... C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\link.exe
checking for the linker (ld) ... link.exe
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 qt5base.lib -out:C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_C7D9B022016E49008380393DCEE54C30.b C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_C7D9B022016E49008380393DCEE54C30.o
> checking for c links(qt5base)
> checking for c snippet(find_package/qt5base)
checkinfo: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\modules\core\tools\link.lua:175: LINK : fatal error LNK1181: 无法打开输入文件“qt5base.lib”

stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:973]:
    [@programdir\modules\core\tools\link.lua:175]: in function 'catch'
    [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
    [@programdir\modules\core\tools\link.lua:150]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]:
    [@programdir\core\tool\linker.lua:222]: in function 'link'
    [...gramdir\core\sandbox\modules\import\core\tool\linker.lua:73]: in function 'link'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:249]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:236]:
    [@programdir\modules\package\manager\system\find_package.lua:103]:
    [@programdir\modules\package\manager\find_package.lua:84]: in function '_find_package_with_builtin_rule'
    [@programdir\modules\package\manager\find_package.lua:130]: in function '_find_package'
    [@programdir\modules\package\manager\find_package.lua:194]:
    [@programdir\modules\lib\detect\find_package.lua:109]:
    [@programdir\core\package\package.lua:1844]: in function '_fetch_library'
    [@programdir\core\package\package.lua:2011]: in function 'fetch'
    [...modules\private\action\require\impl\install_packages.lua:335]: in function 'jobfunc'
    [@programdir\modules\async\runjobs.lua:241]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\async\runjobs.lua:223]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:406]:

checking for qt5base ... no
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5core from xmake ..
checking for xmake::qt5core ... no
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5core from vcpkg ..
finding qt5core from conan ..
finding qt5core from pkgconfig ..
finding qt5core from system ..
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -FoC:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_9382A98852DB40208CBA80F9DBC0B420.o C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_775FB00633BC4F66BF87D39CCDE5CF30.c
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 qt5core.lib -out:C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_9382A98852DB40208CBA80F9DBC0B420.b C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_9382A98852DB40208CBA80F9DBC0B420.o
> checking for c links(qt5core)
> checking for c snippet(find_package/qt5core)
checkinfo: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\modules\core\tools\link.lua:175: LINK : fatal error LNK1181: 无法打开输入文件“qt5core.lib”

stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:973]:
    [@programdir\modules\core\tools\link.lua:175]: in function 'catch'
    [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
    [@programdir\modules\core\tools\link.lua:150]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]:
    [@programdir\core\tool\linker.lua:222]: in function 'link'
    [...gramdir\core\sandbox\modules\import\core\tool\linker.lua:73]: in function 'link'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:249]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:236]:
    [@programdir\modules\package\manager\system\find_package.lua:103]:
    [@programdir\modules\package\manager\find_package.lua:84]: in function '_find_package_with_builtin_rule'
    [@programdir\modules\package\manager\find_package.lua:130]: in function '_find_package'
    [@programdir\modules\package\manager\find_package.lua:194]:
    [@programdir\modules\lib\detect\find_package.lua:109]:
    [@programdir\core\package\package.lua:1844]: in function '_fetch_library'
    [@programdir\core\package\package.lua:2011]: in function 'fetch'
    [...modules\private\action\require\impl\install_packages.lua:335]: in function 'jobfunc'
    [@programdir\modules\async\runjobs.lua:241]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\async\runjobs.lua:223]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:406]:

checking for qt5core ... no
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5gui from xmake ..
checking for xmake::qt5gui ... no
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5gui from vcpkg ..
finding qt5gui from conan ..
finding qt5gui from pkgconfig ..
finding qt5gui from system ..
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -FoC:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_9D7CAEE85BC24310844546FDBC502580.o C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_775FB00633BC4F66BF87D39CCDE5CF30.c
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 qt5gui.lib -out:C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_9D7CAEE85BC24310844546FDBC502580.b C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_9D7CAEE85BC24310844546FDBC502580.o
> checking for c links(qt5gui)
> checking for c snippet(find_package/qt5gui)
checkinfo: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\modules\core\tools\link.lua:175: LINK : fatal error LNK1181: 无法打开输入文件“qt5gui.lib”

stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:973]:
    [@programdir\modules\core\tools\link.lua:175]: in function 'catch'
    [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
    [@programdir\modules\core\tools\link.lua:150]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]:
    [@programdir\core\tool\linker.lua:222]: in function 'link'
    [...gramdir\core\sandbox\modules\import\core\tool\linker.lua:73]: in function 'link'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:249]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:236]:
    [@programdir\modules\package\manager\system\find_package.lua:103]:
    [@programdir\modules\package\manager\find_package.lua:84]: in function '_find_package_with_builtin_rule'
    [@programdir\modules\package\manager\find_package.lua:130]: in function '_find_package'
    [@programdir\modules\package\manager\find_package.lua:194]:
    [@programdir\modules\lib\detect\find_package.lua:109]:
    [@programdir\core\package\package.lua:1844]: in function '_fetch_library'
    [@programdir\core\package\package.lua:2011]: in function 'fetch'
    [...modules\private\action\require\impl\install_packages.lua:335]: in function 'jobfunc'
    [@programdir\modules\async\runjobs.lua:241]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\async\runjobs.lua:223]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:406]:

checking for qt5gui ... no
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5widgets from xmake ..
checking for xmake::qt5widgets ... no
checking for Qt SDK directory ... no
checking for Qt SDK directory ... no
finding qt5widgets from vcpkg ..
finding qt5widgets from conan ..
finding qt5widgets from pkgconfig ..
finding qt5widgets from system ..
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -FoC:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_68B546AC6AB146508986FC9D9E5F33B0.o C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_775FB00633BC4F66BF87D39CCDE5CF30.c
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 qt5widgets.lib -out:C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_68B546AC6AB146508986FC9D9E5F33B0.b C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_68B546AC6AB146508986FC9D9E5F33B0.o
> checking for c links(qt5widgets)
> checking for c snippet(find_package/qt5widgets)
checkinfo: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\modules\core\tools\link.lua:175: LINK : fatal error LNK1181: 无法打开输入文件“qt5widgets.lib”

stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:973]:
    [@programdir\modules\core\tools\link.lua:175]: in function 'catch'
    [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
    [@programdir\modules\core\tools\link.lua:150]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]:
    [@programdir\core\tool\linker.lua:222]: in function 'link'
    [...gramdir\core\sandbox\modules\import\core\tool\linker.lua:73]: in function 'link'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:249]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:236]:
    [@programdir\modules\package\manager\system\find_package.lua:103]:
    [@programdir\modules\package\manager\find_package.lua:84]: in function '_find_package_with_builtin_rule'
    [@programdir\modules\package\manager\find_package.lua:130]: in function '_find_package'
    [@programdir\modules\package\manager\find_package.lua:194]:
    [@programdir\modules\lib\detect\find_package.lua:109]:
    [@programdir\core\package\package.lua:1844]: in function '_fetch_library'
    [@programdir\core\package\package.lua:2011]: in function 'fetch'
    [...modules\private\action\require\impl\install_packages.lua:335]: in function 'jobfunc'
    [@programdir\modules\async\runjobs.lua:241]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:275]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\async\runjobs.lua:223]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:406]:

checking for qt5widgets ... no
note: install or modify (m) these packages (pass -y to skip confirm)?
in xmake-repo:
  -> qt5base 5.15.2 [from:qt5core,qt5gui,qt5widgets]
  -> qt5core 5.15.2 [from:qt5gui,qt5widgets]
  -> qt5gui 5.15.2 [from:qt5widgets]
  -> qt5widgets 5.15.2
please input: y (y/n/m)

aqt install-qt -O C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e windows desktop 5.15.2 win64_msvc2019_64
INFO    : aqtinstall(aqt) v3.1.6 on Python 3.9.13 [CPython MSC v.1929 64 bit (AMD64)]
INFO    : Downloading qttranslations...
INFO    : Downloading qtbase...
INFO    : Downloading qtactiveqt...
INFO    : Downloading qtsvg...
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qtactiveqt-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.83811030
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qtsvg-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 3.62009660
INFO    : Downloading qtmultimedia...
INFO    : Downloading qtdeclarative...
INFO    : Finished installation of qttranslations-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 4.60586850
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Downloading qtgraphicaleffects...
INFO    : Finished installation of qtmultimedia-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 3.15449140
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Downloading qtwinextras...
INFO    : Finished installation of qtgraphicaleffects-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.60806610
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Downloading qttools...
INFO    : Finished installation of qtwinextras-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.60104540
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Downloading qtimageformats...
INFO    : Finished installation of qtdeclarative-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 8.88734360
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qtimageformats-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 4.52084800
INFO    : Downloading qtsensors...
INFO    : Downloading qtwebchannel...
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qttools-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 7.35108690
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Downloading qtxmlpatterns...
INFO    : Finished installation of qtwebchannel-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.51093150
INFO    : Finished installation of qtsensors-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 3.24068490
INFO    : Downloading qtlocation...
INFO    : Downloading qtwebsockets...
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qtwebsockets-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.50748560
INFO    : Downloading qtserialport...
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qtserialport-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.59209620
INFO    : Finished installation of qtlocation-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 5.99719360
INFO    : Downloading qtquickcontrols...
INFO    : Finished installation of qtxmlpatterns-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 7.41627560
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Downloading qtwebview...
INFO    : Downloading qtquickcontrols2...
INFO    : Finished installation of qtquickcontrols-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.98605700
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qtwebview-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.43459370
INFO    : Downloading qtscxml...
INFO    : Downloading qtserialbus...
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qtserialbus-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.90574420
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qtbase-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 28.18109840
INFO    : Finished installation of qtscxml-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 4.30644990
INFO    : Downloading qtspeech...
INFO    : Finished installation of qtquickcontrols2-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 6.90969000
INFO    : Downloading qtconnectivity...
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Downloading qtgamepad...
INFO    : Finished installation of qtspeech-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.15883730
INFO    : Downloading qt3d...
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qtgamepad-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.23016280
INFO    : Downloading qtremoteobjects...
INFO    : Finished installation of qtconnectivity-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.86959200
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Downloading d3dcompiler_47...
INFO    : Finished installation of qtremoteobjects-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 2.74457700
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of qt3d-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z in 6.48632840
INFO    : Finished installation of d3dcompiler_47-x64.7z in 4.32284130
INFO    : Downloading opengl32sw...
INFO    : Redirected: mirrors.sau.edu.cn
INFO    : Finished installation of opengl32sw-64-mesa_12_0_rc2.7z in 3.49201890
INFO    : Patching C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\5.15.2\msvc2019_64\bin\qmake.exe
INFO    : Finished installation
INFO    : Time elapsed: 44.60452980 second
checking for Qt SDK directory ... C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e
checking for Qt SDK version ... 5.15.2
checking for xmake-repo::qt5base ... qt5base 5.15.2
{
  sdkver = "5.15.2",
  version = "5.15.2",
  includedir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include",
  sdkdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e",
  pluginsdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/plugins",
  qmldir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/qml",
  bindir_host = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
  bindir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
  mkspecsdir = "C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\mkspecs",
  libexecdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
  libdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib"
}

C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\bin\qmake.exe -v
QMake version 3.1
Using Qt version 5.15.2 in C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib
C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\bin\moc.exe -v
moc 5.15.2
  => install qt5base 5.15.2 .. ok
checking for xmake-repo::qt5core ... qt5core 5.15.2
{
  qtdir = {
    sdkver = "5.15.2",
    version = "5.15.2",
    includedir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include",
    sdkdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e",
    pluginsdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/plugins",
    qmldir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/qml",
    bindir_host = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
    bindir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
    mkspecsdir = "C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\mkspecs",
    libexecdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
    libdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib"
  },
  sysincludedirs = {
    "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include",
    "C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore"
  },
  frameworkdirs = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib",
  links = {
    "Qt5Core"
  },
  linkdirs = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib",
  version = "5.15.2"
}

patching C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5core\5.15.2\032d7fd430974b7486141f7222d12082\lib\pkgconfig\qt5core.pc ..
checking for C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\cl.exe ... ok
checking for flags (-MD) ... ok
> cl.exe "-MD" "-nologo"
checking for flags (cl_external_includedir) ... ok
> cl.exe "-external:W0" "-external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include" "-nologo"
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -MD -std:c++14 /EHsc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore -FoC:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_92B1DE0E829F4B608B1BACD19D3D51E0.o C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_3B4569AB189A4D6C819AC59C0611E480.cpp
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 -libpath:C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\lib Qt5Core.lib -out:C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_92B1DE0E829F4B608B1BACD19D3D51E0.b C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_92B1DE0E829F4B608B1BACD19D3D51E0.o
> checking for c++ includes(QCoreApplication)
> checking for c++ links(Qt5Core)
> checking for c++ snippet(test)
  => install qt5core 5.15.2 .. ok
checking for xmake-repo::qt5gui ... qt5gui 5.15.2
{
  qtdir = {
    sdkver = "5.15.2",
    version = "5.15.2",
    includedir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include",
    sdkdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e",
    pluginsdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/plugins",
    qmldir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/qml",
    bindir_host = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
    bindir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
    mkspecsdir = "C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\mkspecs",
    libexecdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
    libdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib"
  },
  sysincludedirs = {
    "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include",
    "C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui"
  },
  frameworkdirs = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib",
  links = {
    "Qt5Gui"
  },
  linkdirs = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib",
  version = "5.15.2"
}

patching C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5gui\5.15.2\032d7fd430974b7486141f7222d12082\lib\pkgconfig\qt5gui.pc ..
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -MD -std:c++14 /EHsc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore -FoC:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_A29613EAE6164C608B9D6413B3829880.o C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_D170BD042AA141639E51E4773C4EB399.cpp
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 -libpath:C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\lib Qt5Gui.lib Qt5Core.lib -out:C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_A29613EAE6164C608B9D6413B3829880.b C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_A29613EAE6164C608B9D6413B3829880.o
> checking for c++ includes(QGuiApplication)
> checking for c++ links(Qt5Gui, Qt5Core)
> checking for c++ snippet(test)
  => install qt5gui 5.15.2 .. ok
checking for xmake-repo::qt5widgets ... qt5widgets 5.15.2
{
  qtdir = {
    sdkver = "5.15.2",
    version = "5.15.2",
    includedir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include",
    sdkdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e",
    pluginsdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/plugins",
    qmldir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/qml",
    bindir_host = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
    bindir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
    mkspecsdir = "C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\mkspecs",
    libexecdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/bin",
    libdir = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib"
  },
  sysincludedirs = {
    "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include",
    "C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets"
  },
  frameworkdirs = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib",
  links = {
    "Qt5Widgets"
  },
  linkdirs = "C:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/lib",
  version = "5.15.2"
}

patching C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5widgets\5.15.2\032d7fd430974b7486141f7222d12082\lib\pkgconfig\qt5widgets.pc ..
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -MD -std:c++14 /EHsc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore -FoC:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_0C8F2ABECF9F4C00852AF32393FB8A20.o C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_003863FE495A4CBBA20523D2BE007886.cpp
> "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 -libpath:C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\lib Qt5Widgets.lib Qt5Gui.lib Qt5Core.lib -out:C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_0C8F2ABECF9F4C00852AF32393FB8A20.b C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_0C8F2ABECF9F4C00852AF32393FB8A20.o
> checking for c++ includes(QApplication, QPushButton)
> checking for c++ links(Qt5Widgets, Qt5Gui, Qt5Core)
> checking for c++ snippet(test)
  => install qt5widgets 5.15.2 .. ok
[ 28%]: compiling.qt.ui src\mainwindow.ui
C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\bin\uic.exe src\mainwindow.ui -o build\.gens\testqt2\windows\x64\release\rules\qt\ui\ui_mainwindow.h
checking for flags (-O2) ... ok
> cl.exe "-O2" "-nologo"
checking for flags (-DNDEBUG) ... ok
> cl.exe "-DNDEBUG" "-nologo"
[ 42%]: compiling.qt.moc src\mainwindow.h
C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\bin\moc.exe -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -D_WINDOWS -IC:/Users/wangrunqing/Downloads/testqt2/build/.gens/testqt2/windows/x64/release/rules/qt/ui -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtGui -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtGui/5.15.2 -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtGui/5.15.2/QtGui -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtWidgets -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtWidgets/5.15.2 -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtWidgets/5.15.2/QtWidgets -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtCore -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtCore/5.15.2 -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include/QtCore/5.15.2/QtCore -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/include -IC:/Users/wangrunqing/AppData/Local/.xmake/packages/q/qt5base/5.15.2/b40ce8b80f0449248b45b9fbf1bcfe6e/mkspecs/win32-msvc src\mainwindow.h -o build\.gens\testqt2\windows\x64\release\src\moc_mainwindow.cpp
C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.41.33923\bin\HostX64\x64\cl.exe -c -nologo -O2 -std:c++11 -MD -IC:\Users\wangrunqing\Downloads\testqt2\build\.gens\testqt2\windows\x64\release\rules\qt\ui -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -D_WINDOWS /EHsc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2\QtCore -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\mkspecs\win32-msvc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore -DNDEBUG -Fobuild\.objs\testqt2\windows\x64\release\gens\src\moc_mainwindow.cpp.obj build\.gens\testqt2\windows\x64\release\src\moc_mainwindow.cpp
cl: 命令行 warning D9002 :忽略未知选项“-std:c++11”
moc_mainwindow.cpp
[ 57%]: compiling.release src\main.cpp
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -O2 -std:c++11 -MD -IC:\Users\wangrunqing\Downloads\testqt2\build\.gens\testqt2\windows\x64\release\rules\qt\ui -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -D_WINDOWS /EHsc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2\QtCore -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\mkspecs\win32-msvc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore -DNDEBUG -Fobuild\.objs\testqt2\windows\x64\release\src\main.cpp.obj src\main.cpp
[ 71%]: compiling.release src\mainwindow.cpp
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\cl.exe" -c -nologo -O2 -std:c++11 -MD -IC:\Users\wangrunqing\Downloads\testqt2\build\.gens\testqt2\windows\x64\release\rules\qt\ui -DQT_NO_DEBUG -DQT_DEPRECATED_WARNINGS -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CORE_LIB -D_WINDOWS /EHsc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui\5.15.2\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets\5.15.2\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2 -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore\5.15.2\QtCore -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\mkspecs\win32-msvc -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtWidgets -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtGui -external:W0 -external:IC:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\include\QtCore -DNDEBUG -Fobuild\.objs\testqt2\windows\x64\release\src\mainwindow.cpp.obj src\mainwindow.cpp
checking for flags (cl_sourceDependencies) ... ok
> cl.exe "/sourceDependencies" "C:\Users\WANGRU~1\AppData\Local\Temp\.xmake\240722\_5B42E5F82BBB40208F7928E27045F420.json" "-nologo"
cl: 命令行 warning D9002 :忽略未知选项“-std:c++11”
cl: 命令行 warning D9002 :忽略未知选项“-std:c++11”
[ 85%]: linking.release testqt2.exe
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.41.33923\\bin\\HostX64\\x64\\link.exe" -nologo -dynamicbase -nxcompat -machine:x64 -libpath:C:\Users\wangrunqing\AppData\Local\.xmake\packages\q\qt5base\5.15.2\b40ce8b80f0449248b45b9fbf1bcfe6e\lib /opt:ref /opt:icf Qt5Gui.lib Qt5Widgets.lib Qt5Core.lib qtfreetype.lib qtlibpng.lib qtmain.lib ws2_32.lib gdi32.lib ole32.lib advapi32.lib shell32.lib user32.lib opengl32.lib imm32.lib winmm.lib iphlpapi.lib -subsystem:windows -entry:mainCRTStartup -out:build\windows\x64\release\testqt2.exe build\.objs\testqt2\windows\x64\release\src\main.cpp.obj build\.objs\testqt2\windows\x64\release\src\mainwindow.cpp.obj build\.objs\testqt2\windows\x64\release\gens\src\moc_mainwindow.cpp.obj

build cache stats:
cache directory: build\.build_cache
cache hit rate: 0%
cache hit: 0
cache hit total time: 0.000s
cache miss: 0
cache miss total time: 0.000s
new cached files: 0
remote cache hit: 0
remote new cached files: 0
preprocess failed: 0
compile fallback count: 0
compile total time: 0.000s

[100%]: build ok, spent 3.141s
warning: please use add_configs("runtimes") instead of add_configs("vs_runtime").
warning: configs.runtimes is readonly in package(qt5widgets), it's always MD
warning: configs.runtimes is readonly in package(qt5core), it's always MD
warning: configs.runtimes is readonly in package(qt5base), it's always MD
warning: configs.runtimes is readonly in package(aqt), it's always MD
warning: configs.runtimes is readonly in package(qt5gui), it's always MD
jingkaimori commented 3 weeks ago
diff --git a/xmake/rules/qt/env/xmake.lua b/xmake/rules/qt/env/xmake.lua
index afaf62ae4..40189d546 100644
--- a/xmake/rules/qt/env/xmake.lua
+++ b/xmake/rules/qt/env/xmake.lua
@@ -24,6 +24,15 @@ rule("qt.env")
         -- imports
         import("detect.sdks.find_qt")

+
+        print("---find qt from target:---")
+        print(target:data("qt"))
+        print("---find qt on path:---")
+        print(find_qt(nil, {verbose = true}))
+        print("---get target deps---")
+        print(table.keys(target:deps()))
+        print("------")
+
         -- find qt sdk
         local qt = target:data("qt")
         if not qt then

qt.env规则上打日志,发现运行这个规则的时候,依赖还没注册,这是正常现象吗?

---find qt from target:---

---find qt on path:---
checking for Qt SDK directory ... no

---get target deps---
{ }
 0
------
waruqi commented 3 weeks ago

跟依赖有啥关系,是 find_qt 没找到,按理 qt5xxx 包 add_packages 就绑定了 qtbase 的 bin 到 PATH了,对应 qmake 就能找到,find_qt 也就能找到 我这边都没问题,没法复现 ,你应该调 find_qt.lua 看下为啥没找到

Issues-translate-bot commented 3 weeks ago

Bot detected the issue body's language is not English, translate it automatically.


What does it have to do with dependencies? It's because find_qt was not found. It stands to reason that the qt5xxx package add_packages binds the bin of qtbase to PATH. It can be found by qmake and find_qt. I have no problem here and can't reproduce it.

jingkaimori commented 3 weeks ago

找到原因了,是xmake库更新,导致同一版本的qt5base包有两个hash,新hash由于没安装而变成空包,而add_package绑定的是新hash的包,所以就找不到qt环境了

Issues-translate-bot commented 3 weeks ago

Bot detected the issue body's language is not English, translate it automatically.


I found the reason. The xmake library was updated, which caused the qt5base package of the same version to have two hashes. The new hash became an empty package because it was not installed, and add_package was bound to the new hash package, so qt could not be found. environment

waruqi commented 3 weeks ago

找到原因了,是xmake库更新,导致同一版本的qt5base包有两个hash,新hash由于没安装而变成空包,而add_package绑定的是新hash的包,所以就找不到qt环境了

qt5base 库更新?更新后,不是应该安装到新 hash 下么,咋会是空包,有点怪。

Issues-translate-bot commented 3 weeks ago

Bot detected the issue body's language is not English, translate it automatically.


I found the reason. It was the update of the xmake library, which caused the qt5base package of the same version to have two hashes. The new hash became an empty package because it was not installed, and add_package was bound to the package of the new hash, so it could not be found. qt environment

qt5base library updated? After the update, shouldn't it be installed under the new hash? It's a bit strange that it is an empty package.