编译且移植FFTW3

参考

参考文章:编译且移植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前缀就行

你可能感兴趣的:(linux,qt)