FFTW是一个快速计算离散傅里叶变换的标准C语言程序集,可计算一维或多维实和复数据以及任意规模的DFT。下面主要介绍的是 x86 环境下 FFTW库的编译过程,arm环境下的编译过程和FFTW类似,不同之处在于需要手动指定 编译环境 和 编译器。
FFTW有三个版本的数据类型:double、float和long double,在安装时对应不同的编译选项,最终得到的库也不尽相同。(以安装fftw 3.3版本为例)
类型 | 库名称 | 编译选项 |
double 类型 | fftw3-3 | 默认安装,无需另加编译选项 |
float 类型 | fftw3f-3 | –enable-float |
long double类型 | fftw3l-3 | –enable-long-double |
参考文章:
- Ubuntu16.04安装Qt+qwt+fftw_wsqyouth的博客-CSDN博客
- https://www.cnblogs.com/klausage/p/14288935.html
目录
一、下载 fftw 编译包
下载地址:download | fftw
复制链接地址,然后在Linux命令使用 wget 命令下载,或者也可以先在本地下载,然后再上传到Linux平台。
wget https://www.fftw.org/fftw-3.3.10.tar.gz
后续内容可以根据自身需要选择安装对应的环境。
二、x86 环境
解压刚才下载的包,然后进入到fftw的编译目录
tar -zxvf fftw-3.3.10.tar.gz
cd fftw-3.3.10/
FFTW有三个版本的数据类型:double、float和long double,在安装时对应不同的编译选项,最终得到的库也不尽相同。下面三个安装过程是各自独立的,不可一次使用所有选项。
类型 | 库名称 | 编译选项 |
double 类型 | fftw3-3 | 默认安装,无需另加编译选项 |
float 类型 | fftw3f-3 | –enable-float |
long double类型 | fftw3l-3 | –enable-long-double |
1、安装 fftw3(默认安装)
首先,设置编译参数检查依赖环境等,如设置安装路径、是否生成动态库等
./configure --enable-type-prefix \
--prefix=/usr/local/fftw \
--with-gcc \
--disable-fortran \
--enable-i386-hacks \
--enable-shared=yes
- –enable-type-prefix:目的是为了同时使用single precision(单精度)和double precision(双精度),如果不使用它,最后只有以rfftw开头的文件被安装(real fftw)
- –pref=xxx:设定安装目录(库文件、头文件的保存路径)
- –with-gcc:使用gcc编译器
- –disable-fortran:不包含Fortran调用的机制
- –enable-i386-hacks:为Pentium和x86以后的CPU优化gcc的编译速度
- –enable-shared=yes:生成动态库.so文件 否则生成的都是.a 文件
然后开始编译
make -j2
最后开始安装
sudo make install
2、安装 fftw3f
需要在之前的基础上额外加上 –enable-float 表示安装单精度版本。
./configure --enable-type-prefix \
--prefix=/usr/local/fftw \
--with-gcc \
--disable-fortran \
--enable-i386-hacks \
--enable-shared=yes \
--enable-float
然后开始编译
make -j2
最后开始安装
sudo make install
3、安装 fftw3l
需要在默认安装的基础上加上 –enable-long-double 选项表示安装长双精度版本。
./configure --enable-type-prefix \
--prefix=/usr/local/fftw \
--with-gcc \
--disable-fortran \
--enable-i386-hacks \
--enable-shared=yes \
--enable-long-double
然后开始编译
make -j2
最后开始安装
sudo make install
三、ARM 环境
ARM环境的编译和x86环境类似,只是需要手动指定编译环境和编译器。–enable-float 和 –enable-long-double 同样适用。
下面以默认安装为例
./configure --prefix=/usr/local/fftw_arm \
--host=arm-linux \
CC=/usr/local/arm-xilinx-linux-gnueabi-gcc
- –prefix=xxx:指定安装路径为 /usr/local/fftw_arm (和上面区分)
- –host=arm-linux:指定编译运行环境为arm环境
- CC=xx:指定编译器为交叉编译工具链
然后开始编译
make -j2
最后开始安装
sudo make install
今天的文章arm交叉编译器_aarch是arm还是x86[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/82333.html