编译且移植FFTW3

35 篇文章 0 订阅

参考

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值