summaryrefslogtreecommitdiff
path: root/xmake/platforms/android
diff options
context:
space:
mode:
authorruki <[email protected]>2020-02-12 23:14:03 +0800
committerruki <[email protected]>2020-02-12 13:24:19 +0800
commit7b08be3acbeeb49f691302ee9262a053171c70d5 (patch)
tree897ba8f5f155a9b817379df864393df227057690 /xmake/platforms/android
parented630a48d2359dded29af7815f03604534b78f67 (diff)
fix linker errors for android ndk on windows
Diffstat (limited to 'xmake/platforms/android')
-rw-r--r--xmake/platforms/android/config.lua8
-rw-r--r--xmake/platforms/android/load.lua9
2 files changed, 12 insertions, 5 deletions
diff --git a/xmake/platforms/android/config.lua b/xmake/platforms/android/config.lua
index c69eb6b94..a51eac6b0 100644
--- a/xmake/platforms/android/config.lua
+++ b/xmake/platforms/android/config.lua
@@ -95,14 +95,14 @@ function _toolchains()
as:add({name = "gcc", cross = cross}, "clang")
-- init the linker
- ld:add({name = "gcc", cross = cross})
ld:add({name = "g++", cross = cross})
- ld:add("clang", "clang++")
+ ld:add({name = "gcc", cross = cross})
+ ld:add("clang++", "clang")
-- init the shared library linker
- sh:add({name = "gcc", cross = cross})
sh:add({name = "g++", cross = cross})
- sh:add("clang", "clang++")
+ sh:add({name = "gcc", cross = cross})
+ sh:add("clang++", "clang")
-- init the static library archiver
ar:add({name = "ar", cross = cross, pathes = gcc_toolchain_bin}, "llvm-ar")
diff --git a/xmake/platforms/android/load.lua b/xmake/platforms/android/load.lua
index 4e3146965..7975bdba4 100644
--- a/xmake/platforms/android/load.lua
+++ b/xmake/platforms/android/load.lua
@@ -82,6 +82,7 @@ function main(platform)
-- add flags for the sdk directory of ndk
local ndk = config.get("ndk")
+ local ndkver = config.get("ndkver")
local ndk_sdkver = config.get("ndk_sdkver")
if ndk and ndk_sdkver then
@@ -258,7 +259,13 @@ function main(platform)
platform:add("ldflags", "-lstlport_shared")
platform:add("shflags", "-lstlport_shared")
end
-
+
+ -- fix 'ld: error: cannot find -lc++' for clang++.exe on r20/windows
+ -- @see https://github.com/xmake-io/xmake/issues/684
+ if ndkver and ndkver >= 20 and ndk_cxxstl:startswith("llvmstl") then
+ platform:add("ldflags", "-nostdlib++")
+ platform:add("shflags", "-nostdlib++")
+ end
end
end