-
下载Android NDK
https://developer.android.com/ndk/downloads?hl=zh-cn -
下载Pikafish源码
https://github.com/official-pikafish/Pikafish -
编译
在Pikafish的src目录下创建如下bat文件
set clang=D:\android-ndk-r25c\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android31-clang++
%clang% ^
-static-libstdc++ ^
-Wall ^
-Wcast-qual ^
-Wextra ^
-Wshadow ^
-std=c++17 ^
-DNDEBUG -O3 ^
-DUSE_NEON=8 ^
-DIS_64BIT ^
-DUSE_PTHREADS ^
-DUSE_POPCNT ^
-pedantic ^
-fno-exceptions ^
-flto=full ^
-DANDROID_STL=c++_shared ^
benchmark.cpp ^
bitboard.cpp ^
evaluate.cpp ^
main.cpp ^
misc.cpp ^
movegen.cpp ^
movepick.cpp ^
position.cpp ^
search.cpp ^
thread.cpp ^
timeman.cpp ^
tt.cpp ^
tune.cpp ^
uci.cpp ^
ucioption.cpp ^
nnue\evaluate_nnue.cpp ^
nnue\features\half_ka_v2_hm.cpp ^
external\zip.cpp ^
-o pikafish
具体的clang路径需要根据自己的ndk版本进行修改, -static-libstdc++
不加也能编译成功,但在安卓上运行时会报找不到libc++_shared.so的错误,所以采用静态链接的方式。
- 运行
将编译好的pikafish文件和pikafish.nnue文件放到同一个目录下,然后用adb运行即可。