编译go to Android:pthread_key_create的签名无效

编译go to Android:pthread_key_create的签名无效,android,go,pthreads,cross-compiling,Android,Go,Pthreads,Cross Compiling,最近的API级别(如22)也出现了同样的问题 我正在使用上提到的golang-1.8-go包编译命令不完整。您可以使用gomobile build-x查看如何正确调用编译器,记住您可能需要在shell中正确引用参数 正确命令的示例: GOMOBILE=/home/janus/go/pkg/GOMOBILE-GOPATH=$home/go-ANDROID\u-home=/home/janus/Desktop/ANDROID-sdk-linux-GOOS=ANDROID-GOARCH=arm-CC=

最近的API级别(如22)也出现了同样的问题


我正在使用上提到的golang-1.8-go包编译命令不完整。您可以使用
gomobile build-x
查看如何正确调用编译器,记住您可能需要在shell中正确引用参数

正确命令的示例:

GOMOBILE=/home/janus/go/pkg/GOMOBILE-GOPATH=$home/go-ANDROID\u-home=/home/janus/Desktop/ANDROID-sdk-linux-GOOS=ANDROID-GOARCH=arm-CC=$ANDROID\u-home/ndk-bundle/toolschains/llvm/prebuilded/linux-x86\u 64/bin/clangcgo=$ANDROID\ndk-home/ndk-bundle/toolschains/llvm=“-target armv7a none-linux-androideabi-sysroot$ANDROID\u HOME/ndk bundle/platforms/ANDROID-15/arch arm-gcc工具链$ANDROID\u HOME/ndk bundle/toolschains/arm-linux-androideabi-4.9/prebuild/linux-x86\u 64-I$GOMOBILE/include“CGO\u CPPFLAGS=”-目标armv7a none linux AndroidABI--sysroot$ANDROID_HOME/ndk bundle/platforms/ANDROID-15/arch arm-gcc工具链$ANDROID_HOME/ndk bundle/toolschains/arm-linux-AndroidABI-4.9/prebuild/linux-x86_64-I$GOMOBILE/include“CGO_LDFLAGS=”-target armv7a none-linux-androideabi-sysroot$ANDROID_HOME/ndk bundle/platforms/ANDROID-15/arch-arm-gcc工具链$ANDROID_HOME/ndk bundle/toolschains/arm-linux-androideabi-4.9/prebuild/linux-x86_64-L$ANDROID_HOME/ndk bundle/platforms/ANDROID-15/arch-arm/usr/lib-L$GOMOBILE/lib/arm“CGO_ENABLED=1 GOARM=7 go build-pkgdir=$GOMOBILE/pkg_android\u arm-buildmode=c-shared

CGO_CFLAGS="--sysroot=android-sdk-linux/ndk-bundle/platforms/android-9/arch-arm/" CGO_ENABLED=1 CC=android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ CXX=android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ \                
    GOOS=android GOARCH=arm go build -buildmode=c-archive --ldflags="--sysroot=android-sdk-linux/ndk-bundle/platforms/android-9/arch-arm/"
# runtime/cgo
/usr/lib/go-1.8/src/runtime/cgo/gcc_android_arm.c: In function 'void inittls(void**, void**)':
/usr/lib/go-1.8/src/runtime/cgo/gcc_android_arm.c:30:34: error: invalid conversion from 'void*' to 'void (*)(void*)' [-fpermissive]
  err = pthread_key_create(&k, nil);
                                  ^
In file included from /usr/lib/go-1.8/src/runtime/cgo/gcc_android_arm.c:5:0:
/home/janus/Desktop/android-sdk-linux/ndk-bundle/platforms/android-9/arch-arm/usr/include/pthread.h:265:5: note: initializing argument 2 of 'int pthread_key_create(pthread_key_t*, void (*)(void*))'
 int pthread_key_create(pthread_key_t *key, void (*destructor_function)(void *));