Closed Arteiimis closed 1 month ago
Bot detected the issue body's language is not English, translate it automatically.
Title: msvc compilation module error: attempt to concatenate a nil value (local 'bmifile')
2.9.4
win10
msvc compilation module error: attempt to concatenate a nil value (local 'bmifile')
Compile normally
add_rules("mode.debug", "mode.release")
add_rules("plugin.compile_commands.autoupdate", { outputdir = "./build" })
set_runtimes("MD")
set_languages("c++20")
target("helc")
set_kind("binary")
set_policy("build.c++.modules", true)
set_toolchains("msvc")
add_languages("c++23")
add_files("/main.cpp")
add_files("src/**.ixx")
add_headerfiles("src/*.hxx")
target_end()
"D:\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.40.33807\\bin\\HostX64\\x64\\cl.exe" -c -nologo -O2 - std:c++20 -std:c++latest -MD /EHsc -DNDEBUG -reference defint=build\.gens\helc\windows\x64\release\rules\bmi\cache\modules\1b947e68\defint.ifc - headerUnit:angle list=build\.gens\helc\windows\x64\release\rules\bmi\cache\headerunits\stl\list.ifc -headerUnit:angle string=build\.gens\helc\windows\x64\release\ rules\bmi\cache\headerunits\stl\string.ifc -headerUnit:angle string_view=build\.gens\helc\windows\x64\release\rules\bmi\cache\headerunits\stl\string_view.ifc -headerUnit:angle tuple =build\.gens\helc\windows\x64\release\rules\bmi\cache\headerunits\stl\tuple.ifc -headerUnit:angle functional=build\.gens\helc\windows\x64\release\rules\bmi\ cache\headerunits\stl\functional.ifc -reference hc.types=build\.gens\helc\windows\x64\release\rules\bmi\cache\modules\bcd65690\hc.types.ifc -headerUnit:angle type_traits=build \.gens\helc\windows\x64\release\rules\bmi\cache\headerunits\stl\type_traits.ifc -headerUnit:angle memory=build\.gens\helc\windows\x64\release\rules\bmi\cache\ headerunits\stl\memory.ifc -headerUnit:angle set=build\.gens\helc\windows\x64\release\rules\bmi\cache\headerunits\stl\set.ifc -headerUnit:angle unordered_set=build\.gens\ helc\windows\x64\release\rules\bmi\cache\headerunits\stl\unordered_set.ifc -TP -ifcOutput build\.gens\helc\windows\x64\release\rules\bmi\cache\modules\f95134c8\parser. ast.ifc -interface -Fobuild\.objs\helc\windows\x64\release\src\parser\Ast.ixx.obj src\parser\Ast.ixx
error: @programdir\core\main.lua:329: @programdir\core\sandbox\modules\import\core\base\task.lua:65: ...amdir\rules\c++\modules\modules_support\msvc\builder .lua:187: attempt to concatenate a nil value (local 'bmifile')
stack traceback:
[...amdir\rules\c++\modules\modules_support\msvc\builder.lua:187]: in function '_get_requiresflags'
[...amdir\rules\c++\modules\modules_support\msvc\builder.lua:199]: in function '_get_requiresflags'
[...amdir\rules\c++\modules\modules_support\msvc\builder.lua:199]: in function '_get_requiresflags'
[...amdir\rules\c++\modules\modules_support\msvc\builder.lua:222]: in function '_append_requires_flags'
[...amdir\rules\c++\modules\modules_support\msvc\builder.lua:343]: in function 'make_module_buildcmds'
[...ir\rules\c++\modules\modules_support\msvc\..\builder.lua:302]: in function 'build_module'
[...ir\rules\c++\modules\modules_support\msvc\..\builder.lua:50]: in function '_build_modules'
[...ir\rules\c++\modules\modules_support\msvc\..\builder.lua:300]: in function 'build_modules_for_batchcmds'
[@programdir\rules\c++\modules\xmake.lua:178]: in function 'script'
[@programdir\plugins\project\utils\target_cmds.lua:79]: in function 'get_target_buildcmd_files'
[@programdir\plugins\project\utils\target_cmds.lua:110]: in function 'get_target_buildcmd_sourcegroups'
[@programdir\plugins\project\clang\compile_commands.lua:249]: in function '_add_target_commands'
[@programdir\plugins\project\clang\compile_commands.lua:281]: in function '_add_target'
[@programdir\plugins\project\clang\compile_commands.lua:293]: in function '_add_targets'
[@programdir\plugins\project\clang\compile_commands.lua:309]: in function '?'
[@programdir\plugins\project\main.lua:75]: in function '_make'
[@programdir\plugins\project\main.lua:95]:
[C]: in function 'xpcall'
[@programdir\core\base\utils.lua:275]:
[@programdir\core\base\task.lua:491]: in function 'run'
[@programdir\core\sandbox\modules\import\core\base\task.lua:63]: in function 'run'
[@programdir\rules\plugin\compile_commands\xmake.lua:66]: in function 'callback'
[@programdir\modules\core\project\depend.lua:217]: in function 'on_changed'
[@programdir\rules\plugin\compile_commands\xmake.lua:62]: in function 'buildscript'
[@programdir\actions\build\main.lua:97]: in function '_do_project_rules'
[@programdir\actions\build\main.lua:144]: in function 'catch'
[@programdir\core\sandbox\modules\try.lua:123]: in function 'try'
[@programdir\actions\build\main.lua:118]: in function 'build_targets'
[@programdir\actions\build\main.lua:201]:
[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: std and std.compat modules not found! disabling them for the build
给个完整可复现的工程,可以发到附件
Bot detected the issue body's language is not English, translate it automatically.
Provide a complete and reproducible project, which can be sent as an attachment.
Xmake 版本
2.9.4
操作系统版本和架构
win10
描述问题
msvc 编译模块报错:attempt to concatenate a nil value (local 'bmifile') 与 #5090 类似, 但是我已经指定了
c++20
版本, 甚至指定了开启模块编译, 依旧报错.期待的结果
正常编译
工程配置
附加信息和错误日志