ubuntu使用交叉编译链编译FFTW动态库

news2024/11/17 15:59:43

一、从官方下载FFTW压缩包

1. 在  /usr/local  新建目录fftw目录, 将压缩包放在 /usr/local/fftw 中解压。

 2.打开解压后的文件

导入环境变量:

export  PATH=$PATH:/home/theer/workspace/a64/cqa64_linuxqt5.8_bv3s/buildroot-2017.02.3/output/host/bin

为什么导入这个环境变量?

因为我们要使用ARM64位的交叉编译工具链来编译动态库。

3.写入配置脚本语句进行编译

./configure --prefix=/usr/local/fftw --host=arm-linux --disable-fortran --enable-shared=yes --with-slow-timer CC=aarch64-buildroot-linux-gnu-cc

这行命令是用来配置 FFTW (快速傅里叶变换库)的编译和安装设置的。每个选项都有特定的意义,这里我将逐一解释:

  1. ./configure: 这是一个脚本,用于设置软件的编译和安装参数。它检查你的系统环境并准备编译和安装过程所需的适当设置。

  2. --prefix=/usr/local/fftw: 这指定了安装路径。即,FFTW 将被安装到 /usr/local/fftw 目录下。如果不指定,默认通常是 /usr/local

  3. --host=arm-linux: 这是交叉编译的设置,指定目标主机的类型。在这里,它告诉配置脚本生成适合在 ARM 架构的 Linux 系统上运行的代码。如果你在一个 x86 机器上编译代码,但目的是在 ARM 设备上运行,这就是所谓的交叉编译。

  4. --disable-fortran: 此选项禁用 FORTRAN 语言的支持。如果你不需要在 FFTW 中使用 FORTRAN 接口,可以禁用它,这可能会减少编译时间和复杂性。

  5. --enable-shared=yes: 这确保构建的库是共享库(例如 .so 文件),而不是静态库(.a 文件)。共享库可以由多个程序共用,节省空间,并允许动态更新。

  6. --with-slow-timer: 这是 FFTW 特定的选项,通常用于在不支持更高精度定时器的系统上编译。这可能影响某些时间敏感的操作。

  7. CC=aarch64-buildroot-linux-gnu-cc: 这指定了用于编译的 C 语言编译器。在这个例子中,使用的是为 ARM 架构定制的交叉编译器。

总的来说,这个命令行配置了 FFTW 的编译过程,以适应特定的系统和需求,尤其是在交叉编译环境中针对 ARM Linux 系统。

4.编译库然后安装库

在解压出来的文件中执行编译命令:

 make -j2

执行安装动态库的命令:

sudo make install

二、查看编译出来的动态库 

安装好的FFTW动态库在我们最开始新建的 fftw/lib中。lib文件夹是执行安装命令后创建的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1676221.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言的打字小游戏

目录 游戏内容 伪代码 main 函数 随机字符串 匹配逻辑 用户决定是否继续或退出游戏 完整代码 从0开始记录我的学习历程,我会尽我所能,写出最最大白话的文章,希望能够帮到你,谢谢。 提示:文章作者为初学者&#xf…

HTML常用标签-布局相关标签

布局标签 div标签 俗称"块",主要用于划分页面结构,做页面布局 自己独占一行的元素&#xff0c;设置宽高生效 span标签 俗称"层",主要用于划分元素范围,配合CSS做页面元素样式的修饰 不会自己独占一行的元素&#xff0c;设置宽高不生效 代码 <div style&…

数据库SQL编写规范-SQL书写规范整理(SQL语句书写规范全解-Word原件)

编写本文档的目的是保证在开发过程中产出高效、格式统一、易阅读、易维护的SQL代码。 1 编写目 2 SQL书写规范 3 SQL编写原则 软件全套精华资料包清单部分文件列表&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c;产品需求规格说…

如何使用AzurEnum快速枚举Microsoft Entra ID(Azure AD)

AzurEnum是一款针对Azure的安全工具&#xff0c;在该工具的帮助下&#xff0c;广大研究人员可以轻松快速地枚举Microsoft Entra ID&#xff08;Azure AD&#xff09;。 该工具基于纯Python 3开发&#xff0c;可以在Windows和Linux系统上运行&#xff0c;但考虑到性能和稳定性&a…

iOS——runtime

什么是runtime 我们都知道&#xff0c;将源代码转换为可执行的程序&#xff0c;通常要经过三个步骤&#xff1a;编译、链接、运行。 C 语言 作为一门静态类语言&#xff0c;在编译阶段就已经确定了所有变量的数据类型&#xff0c;同时也确定好了要调用的函数&#xff0c;以及函…

数据库的存储过程、函数与触发器

使用下面的场景来引入 1.创建表 CREATE DATABASE staff; USE staff; CREATE TABLE employee(id INT NOT NULL AUTO_INCREMENT,userName VARCHAR(255),birthDate DATE,idCard VARCHAR(255),loginName VARCHAR(255),PASSWORD VARCHAR(255),mobile VARCHAR(255),email VARCHAR(2…

【综述】人工智能、机器学习、深度学习

文章目录 前言 概念 算法 训练 性能 应用 参考资料 前言 见《初试人工智能》 概念 人工智能系统&#xff08;artifieial intelligence system&#xff09;&#xff0c;针对人类定义的给定目标&#xff0c;产生诸如内容、预测、推荐或决策等输出的一类工程系统。该工程系…

MPEG-4 AVC/H.264高清编码器 JR3211P

概述 JR3211P MPEG-4 AVC/H.264高清编码器是一款专业的高清音/视频编码产品。该产品支持几乎所有模拟及数字音/视频输入接口&#xff0c;包括CVBS、YPbPr、S-video、SD/HD-SDI、HDMI视频输入接口、平衡模拟音频&#xff08;XLR&#xff09;、非平衡模拟音频&#xff08;RCA&am…

Qwen-VL环境搭建推理测试

引子 这几天阿里的Qwen2.5大模型在大模型圈引起了轰动&#xff0c;号称地表最强中文大模型。前面几篇也写了QWen的微调等&#xff0c;视觉语言模型也写了一篇CogVLM&#xff0c;感兴趣的小伙伴可以移步Qwen1.5微调-CSDN博客。前面也写过一篇智谱AI的视觉大模型&#xff08;Cog…

计算礼品发放的最小分组数目 - 贪心思维

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法&#xff0c;所以会发布自己的解题思路&#xff0c;希望大家多指教 一、题目描述 又到了一年的末尾&#xff0c;项目组让小明负责为使得参加晚…

信创项目推进步骤

信创项目推进步骤 文章目录 信创项目推进步骤1. 制定信创替代计划2. 选择合适的信创产品3. 进行试点验证4. 全面部署和替换5. 加强网络安全建设6. 培训和技术支持7. 持续监督和评估 1. 制定信创替代计划 需要对现有的信息化硬件设备进行全面的梳理和评估&#xff0c;确定哪些设…

Properties配置文件和源码

先对测试类进行get方法复写得到getReqType 判断caseinfo等于get时&#xff0c;就是get请求&#xff0c;反之就不是 这里的url和param都是xxx代替&#xff0c;如果直接写内容&#xff0c;每次都会请求 三目运算优化 为什么要用配置文件 test里时url,可以将ip和端口写在配置文…

openlayer实现ImageStatic扩展支持平铺Wrapx

地图平铺&#xff08;Tiling&#xff09;是地图服务中常见的技术&#xff0c;用于将大尺寸的地图数据分割成许多小块&#xff08;瓦片&#xff09;&#xff0c;便于高效加载和展示。这种技术特别适用于网络环境&#xff0c;因为它允许浏览器只加载当前视图窗口内所需的地图瓦片…

【时隙ALOHA,CSMA(载波侦听多路访问)carrier sense mltiple access,无线局域网: CSMA/CA】

文章目录 时隙ALOHA时隙ALOHA的效率( Efficiency )纯ALOHA(非时隙)----效率低CSMA(载波侦听多路访问)carrier sense mltiple accessCSMA冲突CSMA/CD(冲突检测)边说边听&#xff08;提高了信道利用率&#xff09;以太网就是用的这个无线局域网: CSMA/CA无线局域网中的 MAC&#…

人工智能与机器学习的演进:重塑IT行业的未来

目录 前言一、人工智能与机器学习的最新发展1、算法和硬件的进步2、AI & ML的民主化 二、AI & ML在自动化中的应用1、工业与服务业自动化1.1 实践方式1.2 伪代码样例 2、软件开发与运维自动化2.1实践方式2.2伪代码样例 三、AI & ML在个性化服务中的应用1、推荐系统…

【C++】每日一题 17 电话号码的字母组合

给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 可以使用回溯法来解决这个问题。首先定义一个映射关系将数字与字母对应起来…

tarjan学习

1.割点&#xff08;必须经过&#xff09;&#xff1a;当时&#xff0c;y是一个割点&#xff0c;x是y的一个子节点&#xff0c;当没有点x时&#xff0c;y无法访问其他点 2.割边&#xff08;必须经过&#xff09;&#xff1a;当时&#xff0c;y不经过这条边无法到达x&#xff0c…

算法-卡尔曼滤波之卡尔曼滤波的第二个方程:预测方程(状态外推方程)

在上一节中&#xff0c;使用了静态模型&#xff0c;我们推导出了卡尔曼滤波的状态更新方程&#xff0c;但是在实际情况下&#xff0c;系统都是动态&#xff0c;预测阶段&#xff0c;前后时刻的状态是改变的&#xff0c;此时我们引入预测方程&#xff0c;也叫状态外推方程&#…

月入8.5k,计算机应届生转行网优,就业难,不妨另辟蹊径!

随着2024年毕业生人数的预计达到惊人的1179万&#xff0c;就业市场的竞争愈发激烈。作为即将踏入社会的毕业生&#xff0c;如何做好准备&#xff0c;减轻自己的就业压力&#xff0c;成为了摆在我们面前的一大难题。 今天主人公是一位刚毕业的22岁大学生小L&#xff0c;河南郑州…

如何轻松获得稳定的静态IP?

在当今互联网时代&#xff0c;静态IP地址对于许多领域至关重要。无论是个人用户还是企业&#xff0c;拥有一个稳定的静态IP地址都能够提供诸多便利。静态IP地址与动态IP地址相比&#xff0c;具有不变性和可追溯性&#xff0c;适用于需要长期稳定通信和追踪的场景。了解静态IP的…