diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua index 593a541d95c..070ae2c0d3f 100644 --- a/xmake/rules/qt/load.lua +++ b/xmake/rules/qt/load.lua @@ -482,10 +482,12 @@ function main(target, opt) target:add("defines", "_WINDOWS") local subsystem = false for _, ldflag in ipairs(target:get("ldflags")) do - ldflag = ldflag:lower() - if ldflag:find("[/%-]subsystem:") then - subsystem = true - break + if type(ldflag) == "string" then + ldflag = ldflag:lower() + if ldflag:find("[/%-]subsystem:") then + subsystem = true + break + end end end -- maybe user will set subsystem to console diff --git a/xmake/rules/wdk/load.lua b/xmake/rules/wdk/load.lua index d309dbb4efe..62cf99467a1 100644 --- a/xmake/rules/wdk/load.lua +++ b/xmake/rules/wdk/load.lua @@ -79,10 +79,12 @@ function driver_kmdf(target) -- set default driver entry if does not exist local entry = false for _, ldflag in ipairs(target:get("ldflags")) do - ldflag = ldflag:lower() - if ldflag:find("[/%-]entry:") then - entry = true - break + if type(ldflag) == "string" then + ldflag = ldflag:lower() + if ldflag:find("[/%-]entry:") then + entry = true + break + end end end if not entry then @@ -120,10 +122,12 @@ function driver_wdm(target) -- set default driver entry if does not exist local entry = false for _, ldflag in ipairs(target:get("ldflags")) do - ldflag = ldflag:lower() - if ldflag:find("[/%-]entry:") then - entry = true - break + if type(ldflag) == "string" then + ldflag = ldflag:lower() + if ldflag:find("[/%-]entry:") then + entry = true + break + end end end if not entry then diff --git a/xmake/rules/winsdk/xmake.lua b/xmake/rules/winsdk/xmake.lua index 297dfda751b..b782c4f1fb5 100644 --- a/xmake/rules/winsdk/xmake.lua +++ b/xmake/rules/winsdk/xmake.lua @@ -40,10 +40,12 @@ rule("win.sdk.application") else local subsystem = false for _, ldflag in ipairs(target:get("ldflags")) do - ldflag = ldflag:lower() - if ldflag:find("[/%-]subsystem:") then - subsystem = true - break + if type(ldflag) == "string" then + ldflag = ldflag:lower() + if ldflag:find("[/%-]subsystem:") then + subsystem = true + break + end end end if not subsystem then