构建android-go" stdlib.h:没有这样的文件或目录"

时间:2018-02-15 18:11:17

标签: android go gradle header

我试图使用../build-android.sh在ubuntu 16中构建一个android-go示例,但是我收到错误,

# runtime/cgo
_cgo_export.c:2:20: fatal error: stdlib.h: No such file or directory
 #include <stdlib.h>
                    ^

https://github.com/xlab/android-go/tree/master/examples/minimal

有没有人有任何建议?我已经仔细检查了lib6c头文件库。

完整的构建日志是

../build-android.sh 
+ : 26
+ : /home/jsper/Downloads
+ : /home/jsper/Downloads/ndk-bundle
+ export ANDROID_API ANDROID_HOME ANDROID_NDK_HOME
+ /home/jsper/Downloads/tools/bin/sdkmanager --update
[=======================================] 100% Computing updates...             
+ /home/jsper/Downloads/tools/bin/sdkmanager ndk-bundle
[=======================================] 100% Computing updates...             
+ rm -rf android/toolchain
+ /home/jsper/Downloads/ndk-bundle/build/tools/make_standalone_toolchain.py --install-dir=android/toolchain --arch=arm --api=26 --stl=libc++
+ rm -rf android/toolchain/sysroot/usr
+ cp -r /home/jsper/Downloads/ndk-bundle/platforms/android-26/arch-arm/usr android/toolchain/sysroot/usr
+ mkdir -p android/app/src/main/jniLibs/armeabi-v7a
+ GOOS=android
+ GOARCH=arm
+ GOARM=7
+ go get -d
+ CC=/home/jsper/go/src/github.com/xlab/android-go/examples/minimal/android/toolchain/bin/arm-linux-androideabi-gcc
+ CXX=/home/jsper/go/src/github.com/xlab/android-go/examples/minimal/android/toolchain/bin/arm-linux-androideabi-g++
+ CGO_ENABLED=1
+ CGO_CFLAGS=-march=armv7-a
+ GOOS=android
+ GOARCH=arm
+ GOARM=7
+ go build -i -buildmode=c-shared -o android/app/src/main/jniLibs/armeabi-v7a/libgomain.so
# runtime/cgo
_cgo_export.c:2:20: fatal error: stdlib.h: No such file or directory
 #include <stdlib.h>
                    ^
compilation terminated.

3 个答案:

答案 0 :(得分:5)

您是否安装了build-essential软件包?正如我所读,有时候lib没有正确安装。所以重新安装可能有所帮助。

请尝试:

sudo apt-get update
sudo apt-get install build-essential

答案 1 :(得分:4)

https://github.com/xlab/android-go/tree/master/examples/minimal使用:

compileSdkVersion = 25
buildToolsVersion = '25.0.0'
https://github.com/xlab/android-go/blob/master/examples/minimal/android/app/build.gradle

中的

您正在使用26

/home/jsper/Downloads/ndk-bundle/build/tools/make_standalone_toolchain.py --install-dir=android/toolchain --arch=arm --api=26 --stl=libc++

您需要安装具有正确版本的NDK

答案 2 :(得分:1)

我从来没有收到过允许我建立项目的答案,所以我会给自己答案。