能力值:
( LV4,RANK:45 )
|
-
-
2 楼
windows linux 子系统了解下?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
Visual studio + VisualGDB + Sourcery CodeBench Lite Edition http://gnutoolchains.com/download/
最后于 2019-12-13 13:00
被lionnnn编辑
,原因:
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
NDK 支持 CMake,官方文档有示例。给你一个我写的仅供参考。Windows 下 Git Bash 运行。
#!/bin/bash
# ...略
ABIS=("armeabi-v7a" "arm64-v8a" "x86")
for ABI in ${ABIS[*]}; do
$ANDROID_CMAKE/bin/cmake \
-G "Android Gradle - Ninja" \
-DANDROID_ABI=$ABI \
-DANDROID_NDK=$ANDROID_NDK \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_MAKE_PROGRAM=$ANDROID_CMAKE/bin/ninja \
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
-DANDROID_NATIVE_API_LEVEL=18 \
-DCMAKE_TOOLCHAIN=clang \
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=$OUT_DIR/symbol/$ABI \
$TARGET_PROJECT_DIR
$ANDROID_CMAKE/bin/ninja
done
# ...略
最后于 2019-12-13 14:21
被Amun编辑
,原因:
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
cygwin/WSL WSL编译时候加上target和host就行了,不过为什么不直接在linux下编译?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
谢谢老哥 已经找到办法了额 Cmake有个命令可以借助编译链工作 已经解决
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
岁月别催
cygwin/WSL WSL编译时候加上target和host就行了,不过为什么不直接在linux下编译?
不用Linux是因为ABI的原因..
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
AAAyangcheng
谢谢老哥 已经找到办法了额
Cmake有个命令可以借助编译链工作
已经解决
你的ndk工具包能编译出64位的arm程序吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
limee
你的ndk工具包能编译出64位的arm程序吗?
没注意过,我只是在X86的模拟器上成功了,没有在真机上使用 按理说应该是可以的
|
能力值:
( LV9,RANK:150 )
|
-
-
10 楼
用 xmake 就行了,不需要gradle ,直接指定ndk和平台架构就行了
xmake f -p android --ndk=c:\android-ndk-r20e xmake
支持跨平台、各种交叉编译工具链的快速支持,支持几十种常用工具链,可以直接命令行编译,也有gradle插件,对接gradle编译
vscode/idea/clion插件也都有
https://github.com/xmake-io/xmake
|
能力值:
( LV9,RANK:150 )
|
-
-
11 楼
另外,如果第三方库代码,没用xmake.lua维护,已经使用了 autotools/cmake维护,xmake也支持快速对接 cmake/autotools,将ndk的环境传递给他们,实现交叉编译
只需要设置--trybuild=cmake/autotools 开启trybuild模式编译就行了,用户不用再操心如果配置cmake的各种android 编译参数和ndk环境,只需要一个ndk跟路径,xmake会自动探测所有
xmake f -p android --ndk=c:\android-ndk-r20e --trybuild=cmake xmake
切arch只需要传递:-a armeabi-v7a/arm64-v8a
|
|
|