diff options
| author | ruki <[email protected]> | 2020-02-12 23:14:03 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-02-12 13:24:19 +0800 |
| commit | 7b08be3acbeeb49f691302ee9262a053171c70d5 (patch) | |
| tree | 897ba8f5f155a9b817379df864393df227057690 /xmake/platforms/android | |
| parent | ed630a48d2359dded29af7815f03604534b78f67 (diff) | |
fix linker errors for android ndk on windows
Diffstat (limited to 'xmake/platforms/android')
| -rw-r--r-- | xmake/platforms/android/config.lua | 8 | ||||
| -rw-r--r-- | xmake/platforms/android/load.lua | 9 |
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 |
