如何 link cpufeatures lib 用于原生 android 库?
How can I link cpufeatures lib for a native android library?
我正在尝试 link android 的 cpu_features 到本地库。
我直接使用 android 的 gcc 编译器作为交叉编译器。 (不是ndk-build)。
我已经包含了 header ($NDK_PATH/sources/android/cpufeatures/cpu-features.h),但我没有看到预构建的 libcpufeatures.a ndk文件夹下任意位置的文件。
我怎样才能建立那个图书馆?或者在哪里可以找到它以便我可以 link 它正确?
您可以只在您的项目中包含源文件 cpu-features.c
,或者使用 gcc 手动构建它:
arm-linux-androideabi-gcc -c cpu-features.c -o cpu-features.o --sysroot=$SYSROOT
arm-linux-androideabi-ar rcs libcpufeatures.a cpu-features.o
它不需要任何特殊的编译器标志或额外的定义,但是在链接到它时,您可能需要添加 -ldl
因为它使用 dlopen
.
我正在尝试 link android 的 cpu_features 到本地库。
我直接使用 android 的 gcc 编译器作为交叉编译器。 (不是ndk-build)。
我已经包含了 header ($NDK_PATH/sources/android/cpufeatures/cpu-features.h),但我没有看到预构建的 libcpufeatures.a ndk文件夹下任意位置的文件。
我怎样才能建立那个图书馆?或者在哪里可以找到它以便我可以 link 它正确?
您可以只在您的项目中包含源文件 cpu-features.c
,或者使用 gcc 手动构建它:
arm-linux-androideabi-gcc -c cpu-features.c -o cpu-features.o --sysroot=$SYSROOT
arm-linux-androideabi-ar rcs libcpufeatures.a cpu-features.o
它不需要任何特殊的编译器标志或额外的定义,但是在链接到它时,您可能需要添加 -ldl
因为它使用 dlopen
.