diff options
| author | HuiYuanXin13 <[email protected]> | 2025-08-20 21:42:29 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-20 21:42:29 +0800 |
| commit | 2b387d2a1c8b92e586527d2f7cee98cd316827b7 (patch) | |
| tree | 88632d6616919c67760892508f5b3dcc68dbebc6 | |
| parent | d92f86baceb1092b78446ef65d3cb55483ea1540 (diff) | |
fix: android ndk rust link-args
修复了这样的问题:使用android ndk构建rust源码时,rustc不会将link-args="..."的等号之后的引号特殊处理,导致传递给clang++类似'"-llog'的错误的参数。
| -rw-r--r-- | xmake/toolchains/ndk/load.lua | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/xmake/toolchains/ndk/load.lua b/xmake/toolchains/ndk/load.lua index 22b7aa658..faa22c5a0 100644 --- a/xmake/toolchains/ndk/load.lua +++ b/xmake/toolchains/ndk/load.lua @@ -377,8 +377,10 @@ function main(toolchain) table.insert(rcshflags, "-l" .. link) table.insert(rcldflags, "-l" .. link) end - toolchain:add("rcshflags", "-C link-args=\"" .. (table.concat(rcshflags, " "):gsub("%-march=.-%s", "") .. "\"")) - toolchain:add("rcldflags", "-C link-args=\"" .. (table.concat(rcldflags, " "):gsub("%-march=.-%s", "") .. "\"")) + -- fix [[note: clang++: error: no such file or directory: '"-llog']] on windows + -- @note 'link-args=...' should not be 'link-args="..."' + toolchain:set("rcshflags", {"-C", "link-args=" .. (table.concat(rcshflags, " "):gsub("%-march=.-%s", ""))}, {expand=false}) + toolchain:set("rcldflags", {"-C", "link-args=" .. (table.concat(rcldflags, " "):gsub("%-march=.-%s", ""))}, {expand=false}) local sh = toolchain:tool("sh") -- @note we cannot use `config.get("sh")`, because we need to check sh first if sh then toolchain:add("rcshflags", "-C linker=" .. sh) |
