Skip to content

编译时发生断言错误 #6455

Open
Open
@Yuria-Shikibe

Description

@Yuria-Shikibe

Xmake 版本

2.9.9

操作系统版本和架构

版本 Windows 11 家庭中文版 版本号 24H2 安装日期 ‎2025/‎1/‎25 操作系统版本 26100.4061 体验 Windows 功能体验包 1000.26100.84.0 / x64

描述问题

更新vs到Preview 7.0并运行 xmake update -s dev后尝试编译项目就发生该问题,回滚vs仍然发生(原先编译可以通过)
assertion failure稳定发生在编译模块实现文件时

期待的结果

编译正常

工程配置

使用MSVC工具链,19.44

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

set_policy("build.ccache", true)

set_toolchains("msvc")

add_requires("glfw")
add_requires("msdfgen", {
    configs = {
        openmp = true,
        extensions = true ,
        cxxflags = "/DMSDFGEN_USE_CPP11"
    }
 })
add_requires("freetype")
add_requires("nanosvg")
add_requires("protobuf-cpp", {
    configs = {
        zlib = true,
    }
})


target("protobuf_gen")
    set_kind("static")
    set_languages("c++17")
    add_packages("protobuf-cpp", {public = true})
    add_rules("protobuf.cpp")
    add_files("generate/srl/*.cc")
target_end()

target("mo_yanxi")
    set_kind("binary")
    set_extension(".exe")
    set_languages("c++23")
    set_policy("build.c++.modules", true)

    if is_mode("debug") then
        add_cxflags("/RTCsu")
        add_defines("DEBUG_CHECK=1")
    else
        set_symbols("debug")
        set_optimize("fastest")
        add_cxflags("/GL")
        add_ldflags("/LTCG")

        add_defines("DEBUG_CHECK=0")
    end

    add_deps("protobuf_gen")

    add_defines("_MSVC_STL_HARDENING=1")
    add_defines("_MSVC_STL_DESTRUCTOR_TOMBSTONES=1")

    add_cxflags("/FC")
    add_cxflags("/arch:AVX")
    add_cxflags("/arch:AVX2")

    add_cxflags("/wd4244")
    add_cxflags("/wd4100")
    add_cxflags("/wd4458")
    add_cxflags("/wd4267")
    add_cxflags("/wd4189")
    add_cxflags("/wd5030")
    add_cxflags("/bigobj")

    add_files("src/**.cppm")
    add_files("src/**.ixx")
    add_files("src/**.cpp")

    add_packages("glfw")
    add_packages("msdfgen")
    add_packages("freetype")

    add_packages("nanosvg")
    add_packages("protobuf-cpp")

    add_includedirs("generate")
    add_includedirs("src")
    add_includedirs("submodules/VulkanMemoryAllocator/include")
    add_includedirs("submodules/plf_hive")
    add_includedirs("submodules/small_vector/source/include")
    add_includedirs("submodules/stb")

    local vulkan_sdk = os.getenv("VULKAN_SDK")

    if not vulkan_sdk then
        raise("Vulkan SDK not found!")
    end

    add_includedirs(path.join(vulkan_sdk, "Include"))
    add_linkdirs(path.join(vulkan_sdk, "Lib"))

    add_links("vulkan-1")
    add_links("shaderc_shared")

    add_defines("VK_USE_64_BIT_PTR_DEFINES=1")
target_end()

附加信息和错误日志

error: @programdir\core\main.lua:329: @programdir\actions\build\main.lua:146: @programdir\modules\async\runjobs.lua:331: @programdir\core\sandbox\modules\os.lua:442: assertion failed!
stack traceback:
[C]: in function 'assert'
[@programdir\core\sandbox\modules\os.lua:442]: in function 'isfile'
[@programdir\modules\private\action\build\object.lua:64]: in function 'script'
[@programdir\modules\private\action\build\object.lua:131]: in function 'build_object'
[@programdir\modules\private\action\build\object.lua:171]: in function 'jobfunc'
[@programdir\modules\async\runjobs.lua:247]:

stack traceback:
[C]: in function 'error'
@programdir\core\base\os.lua:1075: 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>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions