我不得不在Android 15上使用旧智能手机进行编程。我使用Android Studio来执行此操作。当我编译我在较新的smarphone上使用的版本时,我得到了错误:
Error:FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:externalNativeBuildDebug'.
> Build command failed.
Error while executing '/home/xxx/NVPACK/android-sdk-linux/cmake/3.6.3155560/bin/cmake' with arguments {--build /home/xxx/workspace2/NativeCPP/app/.externalNativeBuild/cmake/debug/x86 --target native-lib}
[1/3] Building CXX object CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o
[2/3] Building CXX object CMakeFiles/native-lib.dir/src/main/cpp/IMUSensor.cpp.o
[3/3] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/x86/libnative-lib.so
FAILED: : && /home/xxx/NVPACK/android-sdk-linux/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -target i686-none-linux-android -gcc-toolchain /home/xxx/NVPACK/android-sdk-linux/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64 --sysroot=/home/xxx/NVPACK/android-sdk-linux/ndk-bundle/platforms/android-15/arch-x86 -fPIC -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ../../../../build/intermediates/cmake/debug/obj/x86/libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o CMakeFiles/native-lib.dir/src/main/cpp/IMUSensor.cpp.o /home/xxx/NVPACK/android-sdk-linux/ndk-bundle/platforms/android-15/arch-x86/usr/lib/liblog.so -lm "/home/xxx/NVPACK/android-sdk-linux/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_static.a" && :
/home/xxx/workspace2/NativeCPP/app/src/main/cpp/Eigen/src/Core/util/Memory.h:228: error: undefined reference to 'posix_memalign'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
似乎posix_memalign存在问题。怎么可能这样呢?
编辑我想在Android 4.0中使用Android 4.0中的智能手机。应该是什么参数?
compileSdkVersion 19
buildToolsVersion '19.1.0'
defaultConfig {
applicationId "com.example.cyclopus.nativecpp"
minSdkVersion 15
targetSdkVersion 19
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags ""
}
}
}