DSP

编译且移植FFTW3

2019-07-13 18:42发布

参考

参考文章:编译且移植FFTW3到Android手机上(2)

1 安装ndk-android交叉编译工具

下载下来解压到使用目录即可

2 下载解压fftw3

3 配置编译

3.1 移植到android x86 平台

#!/bin/sh # Compiles fftw3 for Android # Make sure you have NDK_DIR defined in .bashrc or .bash_profile #NDK Version r40e http://dl.google.com/android/ndk/android-ndk-r103-linux-x86_64.tar.bz2 NDK_DIR="/opt/android/android-ndk-r10e" INSTALL_DIR="`pwd`/build" SRC_DIR="/home/anzye/Desktop/work/fftw3/fftw-3.3.6-pl1" cd $SRC_DIR export PATH="$NDK_DIR/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/:$PATH" export SYS_ROOT="$NDK_DIR/platforms/android-16/arch-x86/" export CC="i686-linux-android-gcc --sysroot=$SYS_ROOT" export LD="i686-linux-android-ld" export AR="i686-linux-android-ar" export RANLIB="i686-linux-android-ranlib" export STRIP="i686-linux-android-strip" #export CFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon -fno-builtin-memmove -mthumb" mkdir -p $INSTALL_DIR ./configure --host=i686-linux-android --prefix=$INSTALL_DIR LIBS="-lc -lgcc" --enable-shared # --enable-float --enable-neon # --enable-threads make -j4 make install exit 0

3.2 移植到android armv7a 平台

#!/bin/sh # Compiles fftw3 for Android # Make sure you have NDK_DIR defined in .bashrc or .bash_profile #NDK Version r40e http://dl.google.com/android/ndk/android-ndk-r103-linux-x86_64.tar.bz2 NDK_DIR="/opt/android/android-ndk-r10e" INSTALL_DIR="`pwd`/build" SRC_DIR="/home/anzye/Desktop/work/fftw3/fftw-3.3.6-pl1" cd $SRC_DIR export PATH="$NDK_DIR/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/:$PATH" export SYS_ROOT="$NDK_DIR/platforms/android-16/arch-arm/" export CC="arm-linux-androideabi-gcc --sysroot=$SYS_ROOT" export LD="arm-linux-androideabi-ld" export AR="arm-linux-androideabi-ar" export RANLIB="arm-linux-androideabi-ranlib" export STRIP="arm-linux-androideabi-strip" export CFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon -fno-builtin-memmove -mthumb" mkdir -p $INSTALL_DIR ./configure --host=arm-linux-androideabi --prefix=$INSTALL_DIR LIBS="-lc -lgcc" --enable-shared --enable-float --enable-neon # --enable-threads make -j4 make install exit 0 ##如果是armv7a 可开启 --enable-float --enable-neon加速功能,不能单独开一个且cflags里要加上“-march=armv7-a -mfloat-abi=softfp -mfpu=neon”. 不知道如何配置,最简单方法是使用qt选中平台相应kit随意编译一个工程看g++及其编译参数如–sysroot,host就填gcc前缀就行