xmake-io / xmake

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

安装imgui v1.90.4时,出现“LINK : fatal error LNK1561: 必须定义入口点”错误,安装失败 #4859

Closed hanasaki666 closed 7 months ago

hanasaki666 commented 7 months ago

Xmake 版本

2.8.8+HEAD.d8e248255

操作系统版本和架构

Windows10 Version 22H2

描述问题

更新了clang版本到18.1.2,且将xmake和VS更新到最新版本后,编译项目时自动更新包,在安装imgui v1.90.4 [debug:y, sdl2_no_renderer:y, runtimes:"MDd", toolchains:"clang-cl", vulkan:y]时,出现“LINK : fatal error LNK1561: 必须定义入口点”错误,安装失败

期待的结果

可以按我对imgui的配置正常安装

工程配置

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

set_languages("c++20")
set_toolchains("clang-cl")

if is_mode("debug") then
    add_defines("_DEBUG", "DEBUG")
    set_runtimes("MDd")
    add_requires("libsdl", {debug = true})
    add_requires("fmt", {configs = {header_only = true}, debug = true})
    add_requires("imgui", {configs = {sdl2_no_renderer = true, vulkan = true}, debug = true})
    add_requireconfs("imgui.**", {configs = {debug = true}})
else
    set_runtimes("MD")
    add_requires("libsdl")
    add_requires("fmt", {configs = {header_only = true}})
    add_requires("imgui", {configs = {sdl2_no_renderer = true, vulkan = true}})
end

function dep_vk()
    add_includedirs("$(env VK_SDK_PATH)/Include", {public = true})
    add_linkdirs("$(env VK_SDK_PATH)/Lib", {public = true})
    add_links("vulkan-1", {public = true})
end

target("test")
    set_kind("binary")
    add_packages("libsdl", "fmt", "imgui", {public = true})
    dep_vk()
    add_files("projects/src/*.cpp")

附加信息和错误日志

checking for cl.exe ... D:\VisualStudio\VS2022\Enterprise\VC\Tools\MSVC\14.39.33519\bin\HostX64\x64\cl.exe
checking for Microsoft Visual Studio (x64) version ... 2022
checking for Microsoft C/C++ Compiler (x64) version ... 19.39.33523
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(unzip.exe -v), No such file or directory
checking for unzip ... no
checking for 7z ... D:\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 cmake ... no
checking for cmake ... no
checking for cmake ... no
checking for cmake ... D:\cmake\bin\cmake
finding libsdl from xmake ..
checking for xmake::libsdl ... libsdl 2.30.1
finding fmt from xmake ..
checking for xmake::fmt ... fmt 10.2.1
finding vulkansdk from xmake ..
checking for xmake::vulkansdk ... no
checking for xmake-repo::vulkansdk ... vulkansdk 
finding imgui from xmake ..
checking for xmake::imgui ... no
finding imgui from vcpkg ..
finding imgui from conan ..
finding imgui 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 imgui from system ..
checking for clang-cl.exe ... ok
checking for the c compiler (cc) ... clang-cl.exe
> clang-cl.exe -c -m64 -FoC:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_E4925F47DE694600852D84C6AA2CDF60.o C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_775FB00633BC4F66BF87D39CCDE5CF30.c
checking for clang-cl.exe ... ok
checking for flags (-fcolor-diagnostics) ... ok
> clang-cl.exe "-fcolor-diagnostics" "-m64"
checkinfo: cannot runv(link.exe -lib -out:C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_1A1DEC7B6DC04C108D1494121C1AC260.exe C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_D8A2D97C0CE24A5089FAC7CF73D50AD0.obj), No such file or directory
checking for link.exe ... no
checking for the linker (ld: link.exe) ... no
checking for link.exe ... D:\VisualStudio\VS2022\Enterprise\VC\Tools\MSVC\14.39.33519\bin\HostX64\x64\link.exe
checking for the linker (ld) ... link.exe
> D:\VisualStudio\VS2022\Enterprise\VC\Tools\MSVC\14.39.33519\bin\HostX64\x64\link.exe -nologo -dynamicbase -nxcompat -machine:x64 imgui.lib -out:C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_E4925F47DE694600852D84C6AA2CDF60.b C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_E4925F47DE694600852D84C6AA2CDF60.o
> checking for c links(imgui)
> checking for c snippet(find_package/imgui)
checkinfo: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\modules\core\tools\link.lua:175: LINK : fatal error LNK1181: 无法打开输入文件“imgui.lib”

stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:957]:
    [@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:280]:
    [@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:280]: 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:68]:
    [@programdir\modules\package\manager\find_package.lua:85]: in function '_find_package_with_builtin_rule'
    [@programdir\modules\package\manager\find_package.lua:131]: in function '_find_package'
    [@programdir\modules\package\manager\find_package.lua:195]:
    [@programdir\modules\lib\detect\find_package.lua:109]:
    [@programdir\core\package\package.lua:1768]: in function '_fetch_library'
    [@programdir\core\package\package.lua:1935]: in function 'fetch'
    [...modules\private\action\require\impl\install_packages.lua:333]: in function 'jobfunc'
    [@programdir\modules\async\runjobs.lua:237]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:280]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\async\runjobs.lua:220]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:404]:

checking for imgui ... no
note: install or modify (m) these packages (pass -y to skip confirm)?
in xmake-repo:
  -> imgui v1.90.4 [runtimes:"MD", toolchains:"clang-cl", sdl2_no_renderer:y, vulkan:y]
please input: y (y/n/m)
y
checking for ping ... ok
pinging the host(github.com) ... 225 ms
D:\xmake\winenv\bin\7z x -y v1.90.4.tar.gz -oC:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_563D54DCFD944E408C4FE372AF187F40.tar

7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21

Scanning the drive for archives:
1 file, 1661449 bytes (1623 KiB)

Extracting archive: v1.90.4.tar.gz
--
Path = v1.90.4.tar.gz
Type = gzip
Headers Size = 10

Everything is Ok

Size:       6420480
Compressed: 1661449
D:\xmake\winenv\bin\7z x -y C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_563D54DCFD944E408C4FE372AF187F40.tar\v1.90.4.tar -osource.tmp

7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21

Scanning the drive for archives:
1 file, 6420480 bytes (6270 KiB)

Extracting archive: C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_563D54DCFD944E408C4FE372AF187F40.tar\v1.90.4.tar
--
Path = C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_563D54DCFD944E408C4FE372AF187F40.tar\v1.90.4.tar
Type = tar
Physical Size = 6420480
Headers Size = 148992
Code Page = UTF-8

Everything is Ok

Folders: 56
Files: 217
Size:       6210613
Compressed: 6420480
checking for clang-cl.exe ... D:\LLVM\bin\clang-cl.exe
checking for Microsoft Visual Studio (x64) version ... 2022
checking for LLVM Clang C/C++ Compiler (x64) version ... 18.1.2
D:\xmake\xmake.exe f --diagnosis --verbose -y -c --plat=windows --arch=x64 --mode=release --kind=static --vs=2022 --runtimes=MD --buildir=build_722c0d00 --dx9=false --vulkan=true --wchar32=false --wgpu=false --glad=false --dx10=false --sdl2=true --dx12=false --freetype=false --sdl2_renderer=false --glfw=false --opengl3=false --dx11=false --win32=false --opengl2=false
checking for cl.exe ... D:\VisualStudio\VS2022\Enterprise\VC\Tools\MSVC\14.39.33519\bin\HostX64\x64\cl.exe
checking for Microsoft Visual Studio (x64) version ... 2022
checking for Microsoft C/C++ Compiler (x64) version ... 19.39.33523
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
checking for user_config ... no
checkinfo: cannot runv(unzip.exe -v), No such file or directory
checking for unzip ... no
checking for 7z ... D:\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) ... 58 ms
pinging the host(gitlab.com) ... 166 ms
pinging the host(github.com) ... 227 ms
git rev-parse HEAD
checking for cmake ... no
checking for cmake ... no
checking for cmake ... no
checking for cmake ... D:\cmake\bin\cmake
finding libsdl from xmake ..
checking for xmake::libsdl ... libsdl 2.30.1
finding vulkansdk from xmake ..
checking for xmake::vulkansdk ... no
checking for xmake-repo::vulkansdk ... vulkansdk 
checking for clang-cl.exe ... D:\LLVM\bin\clang-cl.exe
checking for Microsoft Visual Studio (x64) version ... 2022
checking for LLVM Clang C/C++ Compiler (x64) version ... 18.1.2
checking for clang-cl.exe ... D:\LLVM\bin\clang-cl.exe
checking for the c++ compiler (cxx) ... clang-cl.exe
configure
{
    network = public
    ndk_stdcxx = true
    dx9 = false
    opengl3 = false
    glfw = false
    sdl2_renderer = false
    plat = windows
    opengl2 = false
    sdl2 = true
    vs = 2022
    kind = static
    arch = x64
    vulkan = true
    ccache = true
    dx12 = false
    dx10 = false
    runtimes = MD
    wgpu = false
    wchar32 = false
    host = windows
    buildir = build_722c0d00
    user_config = false
    win32 = false
    dx11 = false
    clean = true
    mode = release
    glad = false
    theme = default
    freetype = false
    proxy_pac = pac.lua
}
D:\xmake\xmake.exe build --diagnosis --verbose
checking for D:\LLVM\bin\clang-cl.exe ... ok
checking for flags (-O2) ... ok
> clang-cl.exe "-O2" "-m64"
checking for flags (cl_external_includedir) ... ok
> clang-cl.exe "-external:W0" "-external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include" "-m64"
checking for flags (-DNDEBUG) ... ok
> clang-cl.exe "-DNDEBUG" "-m64"
[  9%]: cache compiling.release imgui.cpp
D:\LLVM\bin\clang-cl.exe -c -m64 -O2 -std:c++14 -MD -I. -Imisc\cpp -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include\SDL2 -external:W0 -external:ID:\vulkan\VulkanSDK\include -DNDEBUG -Fobuild_722c0d00\.objs\imgui\windows\x64\release\imgui.cpp.obj imgui.cpp
checking for flags (-fcolor-diagnostics) ... ok
> clang-cl.exe "-fcolor-diagnostics" "-m64"
[  9%]: cache compiling.release imgui_demo.cpp
D:\LLVM\bin\clang-cl.exe -c -m64 -O2 -std:c++14 -MD -I. -Imisc\cpp -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include\SDL2 -external:W0 -external:ID:\vulkan\VulkanSDK\include -DNDEBUG -Fobuild_722c0d00\.objs\imgui\windows\x64\release\imgui_demo.cpp.obj imgui_demo.cpp
[  9%]: cache compiling.release imgui_draw.cpp
D:\LLVM\bin\clang-cl.exe -c -m64 -O2 -std:c++14 -MD -I. -Imisc\cpp -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include\SDL2 -external:W0 -external:ID:\vulkan\VulkanSDK\include -DNDEBUG -Fobuild_722c0d00\.objs\imgui\windows\x64\release\imgui_draw.cpp.obj imgui_draw.cpp
[  9%]: cache compiling.release backends\imgui_impl_sdl2.cpp
D:\LLVM\bin\clang-cl.exe -c -m64 -O2 -std:c++14 -MD -I. -Imisc\cpp -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include\SDL2 -external:W0 -external:ID:\vulkan\VulkanSDK\include -DNDEBUG -Fobuild_722c0d00\.objs\imgui\windows\x64\release\backends\imgui_impl_sdl2.cpp.obj backends\imgui_impl_sdl2.cpp
[  9%]: cache compiling.release misc\cpp\imgui_stdlib.cpp
D:\LLVM\bin\clang-cl.exe -c -m64 -O2 -std:c++14 -MD -I. -Imisc\cpp -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include\SDL2 -external:W0 -external:ID:\vulkan\VulkanSDK\include -DNDEBUG -Fobuild_722c0d00\.objs\imgui\windows\x64\release\misc\cpp\imgui_stdlib.cpp.obj misc\cpp\imgui_stdlib.cpp
[  9%]: cache compiling.release imgui_widgets.cpp
D:\LLVM\bin\clang-cl.exe -c -m64 -O2 -std:c++14 -MD -I. -Imisc\cpp -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include\SDL2 -external:W0 -external:ID:\vulkan\VulkanSDK\include -DNDEBUG -Fobuild_722c0d00\.objs\imgui\windows\x64\release\imgui_widgets.cpp.obj imgui_widgets.cpp
[  9%]: cache compiling.release imgui_tables.cpp
D:\LLVM\bin\clang-cl.exe -c -m64 -O2 -std:c++14 -MD -I. -Imisc\cpp -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include\SDL2 -external:W0 -external:ID:\vulkan\VulkanSDK\include -DNDEBUG -Fobuild_722c0d00\.objs\imgui\windows\x64\release\imgui_tables.cpp.obj imgui_tables.cpp
[  9%]: cache compiling.release backends\imgui_impl_vulkan.cpp
D:\LLVM\bin\clang-cl.exe -c -m64 -O2 -std:c++14 -MD -I. -Imisc\cpp -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include\SDL2 -external:W0 -external:ID:\vulkan\VulkanSDK\include -DNDEBUG -Fobuild_722c0d00\.objs\imgui\windows\x64\release\backends\imgui_impl_vulkan.cpp.obj backends\imgui_impl_vulkan.cpp
checking for link.exe ... D:\VisualStudio\VS2022\Enterprise\VC\Tools\MSVC\14.39.33519\bin\HostX64\x64\link.exe
checking for the static library archiver (ar) ... link.exe
[ 81%]: archiving.release imgui.lib
D:\VisualStudio\VS2022\Enterprise\VC\Tools\MSVC\14.39.33519\bin\HostX64\x64\link.exe -lib -nologo -machine:x64 /opt:ref /opt:icf -out:build_722c0d00\windows\x64\release\imgui.lib build_722c0d00\.objs\imgui\windows\x64\release\imgui.cpp.obj build_722c0d00\.objs\imgui\windows\x64\release\imgui_demo.cpp.obj build_722c0d00\.objs\imgui\windows\x64\release\imgui_draw.cpp.obj build_722c0d00\.objs\imgui\windows\x64\release\imgui_tables.cpp.obj build_722c0d00\.objs\imgui\windows\x64\release\imgui_widgets.cpp.obj build_722c0d00\.objs\imgui\windows\x64\release\misc\cpp\imgui_stdlib.cpp.obj build_722c0d00\.objs\imgui\windows\x64\release\backends\imgui_impl_sdl2.cpp.obj build_722c0d00\.objs\imgui\windows\x64\release\backends\imgui_impl_vulkan.cpp.obj
checking for clang-cl.exe ... D:\LLVM\bin\clang-cl.exe
checking for the c compiler (cc) ... clang-cl.exe

build cache stats:
cache directory: build_722c0d00\.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 8.562s
D:\xmake\xmake.exe install -y --nopkgs -o D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236 --diagnosis --verbose
installing imgui ..
installing imgui to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236 ..
> copy build_722c0d00\windows\x64\release\imgui.lib to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\lib
> copy imconfig.h to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\imconfig.h
> copy imgui.h to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\imgui.h
> copy imgui_internal.h to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\imgui_internal.h
> copy imstb_rectpack.h to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\imstb_rectpack.h
> copy imstb_textedit.h to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\imstb_textedit.h
> copy imstb_truetype.h to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\imstb_truetype.h
> copy misc\cpp\imgui_stdlib.h to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\misc\cpp\imgui_stdlib.h
> copy backends\imgui_impl_sdl2.h to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\backends\imgui_impl_sdl2.h
> copy backends\imgui_impl_vulkan.h to D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\backends\imgui_impl_vulkan.h
generating D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\lib\cmake\imgui\imguiConfig.cmake ..
generating D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\lib\cmake\imgui\imguiConfigVersion.cmake ..
generating D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\lib\cmake\imgui\imguiTargets.cmake ..
generating D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\lib\cmake\imgui\imguiTargets-release.cmake ..
install ok!
finding imgui from xmake ..
checking for xmake::imgui ... imgui v1.90.4
{
  syslinks = "imm32",
  libfiles = {
    "D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\lib\imgui.lib"
  },
  version = "v1.90.4",
  license = "MIT",
  links = {
    "imgui"
  },
  linkdirs = {
    "D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\lib"
  },
  sysincludedirs = {
    "D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include",
    "D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\imgui",
    "D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\backends",
    "D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\misc\cpp"
  },
  static = true
}

patching D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\lib\pkgconfig\imgui.pc ..
checking for clang-cl.exe ... ok
checking for the c++ compiler (cxx) ... clang-cl.exe
checking for flags (cl_external_includedir) ... ok
> clang-cl.exe "-external:W0" "-external:ID:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include" "-m64"
> clang-cl.exe -c -m64 -std:c++14 -external:W0 -external:ID:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include -external:W0 -external:ID:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\imgui -external:W0 -external:ID:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\backends -external:W0 
-external:ID:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\include\misc\cpp -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include -external:W0 -external:ID:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\include\SDL2 -external:W0 -external:ID:\vulkan\VulkanSDK\include -FoC:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_6D7F4735225B495087A8805725436190.o C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_DFD2D00992044F43B55FB2CDE13F4998.cpp
checking for flags (-fcolor-diagnostics) ... ok
> clang-cl.exe "-fcolor-diagnostics" "-m64"
> D:\VisualStudio\VS2022\Enterprise\VC\Tools\MSVC\14.39.33519\bin\HostX64\x64\link.exe -nologo -dynamicbase -nxcompat -machine:x64 -libpath:D:\Cache\.xmake\packages\i\imgui\v1.90.4\722c0d006200460a859fa950d7470236\lib -libpath:D:\Cache\.xmake\packages\l\libsdl\2.30.1\3074e1642403480b98f033f8b79b4d40\lib -libpath:D:\vulkan\VulkanSDK\lib imgui.lib SDL2main.lib SDL2-static.lib vulkan-1.lib user32.lib gdi32.lib winmm.lib imm32.lib ole32.lib oleaut32.lib version.lib uuid.lib advapi32.lib setupapi.lib shell32.lib -out:C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_6D7F4735225B495087A8805725436190.b C:\Users\jiajia\AppData\Local\Temp\.xmake\240321\_6D7F4735225B495087A8805725436190.o
> checking for c++ includes(imgui.h, SDL.h)
> checking for c++ links(imgui, SDL2main, SDL2-static, vulkan-1, user32, gdi32, winmm, imm32, ole32, oleaut32, version, uuid, advapi32, setupapi, shell32)
> checking for c++ snippet(test)
checkinfo: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\modules\core\tools\link.lua:175: LINK : fatal error LNK1561: 必须定义入口点

stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:957]:
    [@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:280]:
    [@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:280]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:236]:
    [...xmake\repositories\xmake-repo\packages\i\imgui\xmake.lua:164]: in function 'script'
    [...dir\modules\private\action\require\impl\utils\filter.lua:114]: in function 'call'
    [...dir\modules\private\action\require\impl\actions\test.lua:41]:
    [...\modules\private\action\require\impl\actions\install.lua:412]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:280]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [...\modules\private\action\require\impl\actions\install.lua:333]:
    [...modules\private\action\require\impl\install_packages.lua:479]: in function 'jobfunc'
    [@programdir\modules\async\runjobs.lua:237]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:280]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\async\runjobs.lua:220]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:404]:

error: ...xmake\repositories\xmake-repo\packages\i\imgui\xmake.lua:164: ...gramdir\core\sandbox\modules\import\core\tool\linker.lua:75: @programdir\modules\core\tools\link.lua:175: LINK : fatal error LNK1561: 必须定义入口点

stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:957]:
    [@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:280]:
    [@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:280]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\lib\detect\check_cxsnippets.lua:236]:
    [...xmake\repositories\xmake-repo\packages\i\imgui\xmake.lua:164]: in function 'script'
    [...dir\modules\private\action\require\impl\utils\filter.lua:114]: in function 'call'
    [...dir\modules\private\action\require\impl\actions\test.lua:41]:
    [...\modules\private\action\require\impl\actions\install.lua:412]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:280]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [...\modules\private\action\require\impl\actions\install.lua:333]:
    [...modules\private\action\require\impl\install_packages.lua:479]: in function 'jobfunc'
    [@programdir\modules\async\runjobs.lua:237]:
    [C]: in function 'xpcall'
    [@programdir\core\base\utils.lua:280]: in function 'trycall'
    [@programdir\core\sandbox\modules\try.lua:117]: in function 'try'
    [@programdir\modules\async\runjobs.lua:220]: in function 'cotask'
    [@programdir\core\base\scheduler.lua:404]:

  => install imgui v1.90.4 .. failed
error: @programdir\core\main.lua:306: @programdir\core\sandbox\modules\import\core\base\task.lua:65: @programdir\modules\async\runjobs.lua:320: ...\modules\private\action\require\impl\actions\install.lua:474: install failed!
stack traceback:
    [C]: in function 'error'
    [@programdir\core\base\os.lua:957]:
    [...\modules\private\action\require\impl\actions\install.lua:474]: in function 'catch'
    [@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
    [...\modules\private\action\require\impl\actions\install.lua:333]:
    [...modules\private\action\require\impl\install_packages.lua:479]: in function 'jobfunc'
    [@programdir\modules\async\runjobs.lua:237]:

stack traceback:
        [C]: in function 'error'
        @programdir\core\base\os.lua:957: in function 'os.raiselevel'
        (...tail calls...)
        @programdir\core\main.lua:306: in upvalue 'cotask'
        @programdir\core\base\scheduler.lua:404: in function <@programdir\core\base\scheduler.lua:397>
Issues-translate-bot commented 7 months ago

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


Title: When installing imgui v1.90.4, the error "LINK: fatal error LNK1561: The entry point must be defined" appears and the installation fails.

star-hengxing commented 7 months ago

再试试,xrepo update-repo

Issues-translate-bot commented 7 months ago

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


Try again, xrepo update-repo

hanasaki666 commented 7 months ago

再试试,xrepo update-repo

in xmake-repo:
  -> imgui v1.90.4 [vulkan:y, sdl2_no_renderer:y, debug:y, toolchains:"clang-cl", runtimes:"MDd"]
please input: y (y/n/m)
y
checking for Microsoft Visual Studio (x64) version ... 2022
checking for LLVM Clang C/C++ Compiler (x64) version ... 18.1.2
  => install imgui v1.90.4 .. failed       

LINK : warning LNK4098: 默认库“msvcrtd.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
LINK : warning LNK4217:符号“fclose”(在“ libucrt.lib(fclose.obj)”中定义)已由“imgui.lib(imgui.cpp.obj)”(函数“"bool __cdecl ImFileClose(struct _iobuf *)" (?ImFileClose@@YA_NPEAU_iobuf@@@Z)”中) 
导入
LINK : warning LNK4217:符号“qsort”(在“ libucrt.lib(qsort.obj)”中定义)已由“imgui.lib(imgui.cpp.obj)”(函数“"void __cdecl ImQsort(void *,unsigned __int64,unsigned __int64,int (__cdecl*)(void const *,void const *))" (?ImQsort@@YAXPEAX_K1P6AHPEBX2@Z@Z)”中)导入
LINK : warning LNK4286:符号“qsort”(在“libucrt.lib(qsort.obj)”中定义)已由“imgui.lib(imgui_widgets.cpp.obj)”导入
LINK : warning LNK4217:符号“qsort”(在“ libucrt.lib(qsort.obj)”中定义)已由“imgui.lib(imgui_demo.cpp.obj)”(函数“"void __cdecl ShowDemoWindowWidgets(void)" (?ShowDemoWindowWidgets@@YAXXZ)”中)导
入
LINK : warning LNK4286:符号“qsort”(在“libucrt.lib(qsort.obj)”中定义)已由“imgui.lib(imgui_draw.cpp.obj)”导入
LINK : warning LNK4217:符号“__acrt_iob_func”(在“ libucrt.lib(_file.obj)”中定义)已由“imgui.lib(imgui.cpp.obj)”(函数“"void __cdecl ImGui::Shutdown(void)" (?Shutdown@ImGui@@YAXXZ)”中)导入      
LINK : warning LNK4217:符号“fflush”(在“ libucrt.lib(fflush.obj)”中定义)已由“imgui.lib(imgui.cpp.obj)”(函数“"unsigned int __cdecl ImGui::GetWindowResizeBorderID(struct ImGuiWindow *,int)" (?GetWindowResizeBorderID@ImGui@@YAIPEAUImGuiWindow@@H@Z)”中)导入
LINK : warning LNK4217:符号“__stdio_common_vsprintf”(在“ libucrt.lib(output.obj)”中定义)已由“imgui.lib(imgui.cpp.obj)”(函数“_vsnprintf_l”中)导入
LINK : warning LNK4286:符号“__stdio_common_vsprintf”(在“libucrt.lib(output.obj)”中定义)已由“imgui.lib(imgui_demo.cpp.obj)”导入
LINK : warning LNK4217:符号“malloc”(在“ libucrt.lib(malloc.obj)”中定义)已由“imgui.lib(imgui.cpp.obj)”(函数“"void * __cdecl MallocWrapper(unsigned __int64,void *)" (?MallocWrapper@@YAPEAX_KPEAX@Z)”中)导入
LINK : warning LNK4217:符号“free”(在“ libucrt.lib(free.obj)”中定义)已由“imgui.lib(imgui.cpp.obj)”(函数“"void __cdecl FreeWrapper(void *,void *)" (?FreeWrapper@@YAXPEAX0@Z)”中)导入
LINK : warning LNK4217:符号“__stdio_common_vfprintf”(在“ libucrt.lib(output.obj)”中定义)已由“imgui.lib(imgui.cpp.obj)”(函数“_vfprintf_l”中)导入
LINK : warning LNK4217:符号“strncmp”(在“ libucrt.lib(strncmp.obj)”中定义)已由“imgui.lib(imgui_widgets.cpp.obj)”(函数“"bool __cdecl ImGui::InputTextEx(char const *,char const *,char *,int,struct ImVec2 const &,int,int (__cdecl*)(struct ImGuiInputTextCallbackData *),void *)" (?InputTextEx@ImGui@@YA_NPEBD0PEADHAEBUImVec2@@HP6AHPEAUImGuiInputTextCallbackData@@@ZPEAX@Z)”中)导入     
LINK : warning LNK4286:符号“strncmp”(在“libucrt.lib(strncmp.obj)”中定义)已由“imgui.lib(imgui_demo.cpp.obj)”导入
imgui.lib(imgui_tables.cpp.obj) : error LNK2001: 无法解析的外部符号 __imp__wassert
imgui.lib(imgui.cpp.obj) : error LNK2001: 无法解析的外部符号 __imp__wassert

编译时出现了以上的错误

waruqi commented 7 months ago

去掉 set_toolchains("clang-cl")

如果用了包,windows 平台是跟 msvc 强绑定的,不支持切其他工具链

hanasaki666 commented 7 months ago

去掉 set_toolchains("clang-cl")

如果用了包,windows 平台是跟 msvc 强绑定的,不支持切其他工具链

但我以前用clang-cl是可行的啊,就是说现在windows用imgui只能支持msvc了?

hanasaki666 commented 7 months ago

刚去掉clang-cl编译了,安装时没任何问题,能正常安装

waruqi commented 7 months ago

去掉 set_toolchains("clang-cl") 如果用了包,windows 平台是跟 msvc 强绑定的,不支持切其他工具链

但我以前用clang-cl是可行的啊,就是说现在windows用imgui只能支持msvc了?

clang-cl 对于 win 下的包从没特地支持过,但是如果有些包是 xmake 维护的,目前是能编译过得,而 cmake/meson 的包,是否能过,都是未定义行为。。看人品,这边没有专门做过适配和维护

hanasaki666 commented 7 months ago

去掉 set_toolchains("clang-cl") 如果用了包,windows 平台是跟 msvc 强绑定的,不支持切其他工具链

但我以前用clang-cl是可行的啊,就是说现在windows用imgui只能支持msvc了?

clang-cl 对于 win 下的包从没特地支持过,但是如果有些包是 xmake 维护的,目前是能编译过得,而 cmake/meson 的包,是否能过,都是未定义行为。。看人品,这边没有专门做过适配和维护

我就是用xrepo来安装的imgui包啊,以前是可行的,现在却编译不过了,看来windows下开发还是用msvc才最保守是吗?

Issues-translate-bot commented 7 months ago

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


Remove set_toolchains("clang-cl")

If you use packages, the Windows platform is strongly bound to msvc and does not support switching to other tool chains.

Issues-translate-bot commented 7 months ago

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


Remove set_toolchains("clang-cl")

If packages are used, the Windows platform is strongly bound to msvc and does not support switching to other tool chains.

But it was feasible for me to use clang-cl in the past, but now Windows can only support msvc using imgui?

Issues-translate-bot commented 7 months ago

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


I just removed clang-cl and compiled it. There is no problem during installation and it can be installed normally.

Issues-translate-bot commented 7 months ago

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


Remove set_toolchains("clang-cl") If packages are used, the Windows platform is strongly bound to msvc and does not support switching to other tool chains.

But it was feasible for me to use clang-cl in the past, but now Windows can only support msvc using imgui?

clang-cl has never specifically supported packages under win, but if some packages are maintained by xmake, they can currently be compiled. However, whether cmake/meson packages can be compiled is undefined behavior. . Judging from the character, there is no special adaptation and maintenance done here.

Issues-translate-bot commented 7 months ago

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


Remove set_toolchains("clang-cl") If you use packages, the Windows platform is strongly bound to msvc and does not support switching to other tool chains.

But it was feasible for me to use clang-cl in the past, but now Windows can only support msvc using imgui?

clang-cl has never specifically supported packages under win, but if some packages are maintained by xmake, they can currently be compiled. However, whether cmake/meson packages can be compiled is undefined behavior. . It depends on the character. There is no special adaptation and maintenance done here.

I used xrepo to install the imgui package. It was possible before, but now it cannot be compiled. It seems that msvc is the most conservative way to develop under windows, right?

waruqi commented 7 months ago

去掉 set_toolchains("clang-cl") 如果用了包,windows 平台是跟 msvc 强绑定的,不支持切其他工具链

但我以前用clang-cl是可行的啊,就是说现在windows用imgui只能支持msvc了?

clang-cl 对于 win 下的包从没特地支持过,但是如果有些包是 xmake 维护的,目前是能编译过得,而 cmake/meson 的包,是否能过,都是未定义行为。。看人品,这边没有专门做过适配和维护

我就是用xrepo来安装的imgui包啊,以前是可行的,现在却编译不过了,

刚说了,对win包切 clang-cl从没支持过,是否能过,全凭你运气。。以前是否可以,都不代表现在一定可以。。

看来windows下开发还是用msvc才最保守是吗?

只要不用包, 工具链随你切。。windows 下包强绑定 msvc ,仅仅只是这边人力,资源不够,没精力维护这么多 case

Issues-translate-bot commented 7 months ago

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


Remove set_toolchains("clang-cl") If packages are used, the Windows platform is strongly bound to msvc and does not support switching to other tool chains.

But it was feasible for me to use clang-cl in the past, but now Windows can only support msvc using imgui?

clang-cl has never specifically supported packages under win, but if some packages are maintained by xmake, they can currently be compiled. However, whether cmake/meson packages can be compiled is undefined behavior. . Judging from the character, there is no special adaptation and maintenance done here.

I used xrepo to install the imgui package. It was possible before, but now it cannot be compiled.

As I said before, clang-cl has never supported win packaging. Whether you can pass it depends on your luck. . Whether it was possible before does not necessarily mean it is possible now. .

It seems that when developing under Windows, it is most conservative to use msvc, right?

As long as you don't need to package it, the tool chain can be cut as you like. . The package under windows is strongly bound to msvc. It only requires manpower here. The resources are not enough and there is no energy to maintain so many cases.

hanasaki666 commented 7 months ago

去掉 set_toolchains("clang-cl") 如果用了包,windows 平台是跟 msvc 强绑定的,不支持切其他工具链

但我以前用clang-cl是可行的啊,就是说现在windows用imgui只能支持msvc了?

clang-cl 对于 win 下的包从没特地支持过,但是如果有些包是 xmake 维护的,目前是能编译过得,而 cmake/meson 的包,是否能过,都是未定义行为。。看人品,这边没有专门做过适配和维护

我就是用xrepo来安装的imgui包啊,以前是可行的,现在却编译不过了,

刚说了,对win包切 clang-cl从没支持过,是否能过,全凭你运气。。以前是否可以,都不代表现在一定可以。。

看来windows下开发还是用msvc才最保守是吗?

只要不用包, 工具链随你切。。windows 下包强绑定 msvc ,仅仅只是这边人力,资源不够,没精力维护这么多 case

好吧,那我自己不用包搞搞imgui试试吧,感谢了

star-hengxing commented 7 months ago

可以把包描述拷贝下来,针对自己工具链定制和调试。如果解决了问题,也可以反馈回社区

waruqi commented 7 months ago

尽管对 clang-cl 包没特殊支持过,不过这个 imgui 包是 xmake.lua 维护的,之前是能够跑过。现在不行,是由于解决https://github.com/xmake-io/xmake/issues/4596#issuecomment-2014528801 这个 issue ,做的一些改动,给 break 了。。

Issues-translate-bot commented 7 months ago

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


Remove set_toolchains("clang-cl") If packages are used, the Windows platform is strongly bound to msvc and does not support switching to other tool chains.

But it was feasible for me to use clang-cl in the past, but now Windows can only support msvc using imgui?

clang-cl has never specifically supported packages under win, but if some packages are maintained by xmake, they can currently be compiled. However, whether cmake/meson packages can be compiled is undefined behavior. . Judging from the character, there is no special adaptation and maintenance done here.

I used xrepo to install the imgui package. It was feasible before, but now it cannot be compiled.

As I said before, clang-cl has never supported win packages. Whether you can pass it depends on your luck. . Whether it was possible before does not necessarily mean it is possible now. .

It seems that when developing under Windows, it is most conservative to use msvc, right?

As long as you don’t need to package it, the tool chain can be cut as you like. . The package under windows is strongly bound to msvc. It only requires manpower here. The resources are not enough and there is no energy to maintain so many cases.

Okay, then I will try imgui without using the package myself. Thanks.

Issues-translate-bot commented 7 months ago

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


You can copy the package description and customize and debug it for your own tool chain. If the problem is solved, you can also feedback it to the community

Issues-translate-bot commented 7 months ago

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


Although there is no special support for the clang-cl package, this imgui package is maintained by xmake.lua and could be run before. It doesn't work now, because some changes were made to solve the issue https://github.com/xmake-io/xmake/issues/4596#issuecomment-2014528801, which broke the issue. .

hanasaki666 commented 7 months ago

可以把包描述拷贝下来,针对自己工具链定制和调试。如果解决了问题,也可以反馈回社区

主要是我本身没研究过c++的构建和包之类的东西呢,就单纯一直以来是用VS和xmake+vscode,或UE c++等这些来傻瓜式的使用c++而已,一下说让我来针对工具链定制和调试包描述这个我是真不知道要咋搞 我之所以不用msvc而是用clang-cl,也是为了在vscode上配合clangd有更好体验罢了,毕竟微软自家的c++插件是真不行

Issues-translate-bot commented 7 months ago

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


You can copy the package description and customize and debug it for your own tool chain. If the problem is solved, you can also feedback it to the community

The main reason is that I have never studied the construction and packaging of C++. I have always used VS, xmake+vscode, or UE c++ to use C++ in a fool-like manner. Let me talk about the tools. Chain customization and debugging package description I really don’t know what to do

star-hengxing commented 7 months ago

主要是我本身没研究过c++的构建和包之类的东西呢,就单纯一直以来是用VS和xmake+vscode,或UE c++等这些来傻瓜式的使用c++而已,一下说让我来针对工具链定制和调试包描述这个我是真不知道要咋搞

只是建议

我之所以不用msvc而是用clang-cl,也是为了在vscode上配合clangd有更好体验罢了,毕竟微软自家的c++插件是真不行

你用 msvc/clang 编译都可以使用 clangd,intellisense 和编译器基本是无关的

Issues-translate-bot commented 7 months ago

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


The main reason is that I have never studied the construction and packaging of C++. I have always used VS, xmake+vscode, or UE c++ to use C++ in a fool-proof way. Let me talk about it. Toolchain customization and debugging package description I really don’t know what to do with this

Just a suggestion

The reason why I don’t use msvc but clang-cl is to have a better experience with clangd on vscode. After all, Microsoft’s own c++ plug-in is really not good.

You can use clangd when compiling with msvc/clang. Intellisense has basically nothing to do with the compiler.

waruqi commented 7 months ago

尽管对 clang-cl 包没特殊支持过,不过这个 imgui 包是 xmake.lua 维护的,之前是能够跑过。现在不行,是由于解决#4596 (comment) 这个 issue ,做的一些改动,给 break 了。。

这个 break 的问题我修了,顺带让 cmake 包支持了 clang-cl ,但目前xmake-repo没有相关ci支撑和人力维护,哪些包都能过,全靠人品

https://github.com/xmake-io/xmake/pull/4866

Issues-translate-bot commented 7 months ago

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


Although there is no special support for clang-cl package, this imgui package is maintained by xmake.lua and could be run before. It doesn't work now. It's because of some changes made to solve the issue #4596 (comment). .

I fixed this break problem, and incidentally made the cmake package support clang-cl. However, currently xmake-repo does not have relevant ci support and human maintenance. It can pass any package, it all depends on your character.

https://github.com/xmake-io/xmake/pull/4866