arm交叉编译器_aarch是arm还是x86[通俗易懂]

arm交叉编译器_aarch是arm还是x86[通俗易懂]【FFTW库】编译生成x86、arm环境下的FFTW库_fftw

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 编译包

二、x86 环境

1、安装 fftw3(默认安装)

2、安装 fftw3f

3、安装 fftw3l

三、ARM 环境


一、下载 fftw 编译包

下载地址:download | fftw

复制链接地址,然后在Linux命令使用 wget 命令下载,或者也可以先在本地下载,然后再上传到Linux平台。 

arm交叉编译器_aarch是arm还是x86[通俗易懂]

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

arm交叉编译器_aarch是arm还是x86[通俗易懂]

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

arm交叉编译器_aarch是arm还是x86[通俗易懂]

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交叉编译器_aarch是arm还是x86[通俗易懂]

三、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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注