- NDK:24.0.8215888
- Golang:1.17
一个简单的 golang 项目,由于里面包含了,因此交叉编译到 Android 平台需要使用 CGO 。
使用了这样的编译方法
LD_FLAGS="-w -s -extldflags \"-static -fpic\" -buildid="
TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64
CGO_ENABLED=1 \
GOARCH=arm64 \
GOOS=android \
CC=$TOOLCHAIN/bin/aarch64-linux-android32-clang \
CXX=$TOOLCHAIN/bin/aarch64-linux-android32-clang++ \
go build -a -ldflags "$LD_FLAGS" -o "$PUBLISH_DIR/binary-android-arm64-v8a" "$PROJECT_NAME"
结果提示:
aarch64-linux-android32-clang failed: exit status 1
ld: error: unable to find library -llog
clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
各位大佬们,是我需要额外指定一些参数告诉 CGO 从哪里查找库吗?