Ubuntu下用Eclipse搭建C/C++开发环境中FFTW的配置

2023-11-29 23:58

本文主要是介绍Ubuntu下用Eclipse搭建C/C++开发环境中FFTW的配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://blog.csdn.net/forzhangtao/article/details/40115719


单精度版本使用参考:http://blog.sina.com.cn/s/blog_53859e630100uxlx.html


因为科研的需要,本人在Linux系统(Ubuntu12.04)下用Eclipse IDE for C/C++(Indigo版本)进行C++开发,其中用到了FFTW包。因为不熟悉FFTW的安装和如何在Eclipse中调用,在网上也没有找到解决方法,工程进度受到了一些耽误。在同学和老师的帮助下,终于能够使用FFTW了,现将要点记录一下,方便他人的使用,也方便自己之后的查找。在此先感谢CSDN中一些Ubuntu下安装Eclipse的文章,尤其是之前用标准Eclipse时安装C/C++IDE时受到许多帮助。

下面是Eclipse中调用FFTW的配置步骤;

1,安装FFTW。

        项目中需要用的是FFTW3,而且进行FFT的都是float型变量,我用的FFTW3.3.4。在文件系统(FIle System)中的usr中的local文件夹中解压FFTW压缩包并安装,文件会自动到bin,include和lib文件夹中。

注意,因我需要的是对float型变量的FFT,在./configure后面要加上--enable-float,才能使用。这点要看FFTW manual的在unix下的安装一节,之前虽然知道有这个manual,但没有重视,吃了亏,多花了时间。

在ubuntukylin14.04中出现了这样的问题:

明明目录下有configure这个脚本文件,但就是提示“Command not found”,解决办法

  
首先执行 chmod +x configure、
再执行 ./configure 指令

./configure --enable-float --disable-fortran

make

sudo make install


2,在Eclipse中配置FFTW。

        选择C/C++ perspective(视图),默认的视图形式中左侧是project explore,在工程文件夹上点击右键,点击最下面的properties,然后选择左侧栏C/C++Build-》Settings,在右边Tool Settings中选择GCC C++ Compiler中的Includes,然后添加Include paths :  /usr/local/include,在GCC C Compiler中的Includes中添加同样的路径。

在和GCC C Compiler并列的GCC C++ Linker中选择Libraries,在右边的Libraries中添写fftw3f(因为我需要用的是float型,double型之需要写fftw3),在Library search path中添加  /usr/local/lib ,点击Apply或OK。


附带测试程序


以下是double型的测试程序

#include "fftw3.h"
int main()
{
    fftw_complex *in, *out;
    fftw_plan p;
    int N= 8;
    in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
    out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
    for( int i=0; i < N; i++)
           {
        in[i][0] = 1.0;
        in[i][1] = 0.0;
        printf("%6.2f ",in[i][0]);
        }
    printf("/n");
    p=fftw_plan_dft_1d(N,in,out, FFTW_FORWARD, FFTW_ESTIMATE);
    fftw_execute(p); /* repeat as needed*/
    for(int j = 0;j < N;j++)
          {
        printf("%6.2f ",out[j][0]);
          }
    printf("/n");
    fftw_destroy_plan(p);
    fftw_free(in); 
    fftw_free(out);
    return 0;
}


以下是float型的测试程序

#include "fftw3.h"
int main()
{
    fftwf_complex *in, *out;
    fftwf_plan p;
    int N= 8;
    in = (fftwf_complex*) fftwf_malloc(sizeof(fftwf_complex) * N);
    out = (fftwf_complex*) fftwf_malloc(sizeof(fftwf_complex) * N);
    for( int i=0; i < N; i++)
           {
        in[i][0] = 1.0;
        in[i][1] = 0.0;
        printf("%6.2f ",in[i][0]);
        }
    printf("/n");
    p=fftwf_plan_dft_1d(N,in,out, FFTW_FORWARD, FFTW_ESTIMATE);
    fftwf_execute(p); /* repeat as needed*/
    for(int j = 0;j < N;j++)
          {
        printf("%6.2f ",out[j][0]);
          }
    printf("/n");
    fftwf_destroy_plan(p);
    fftwf_free(in);
    fftwf_free(out);
    return 0;
}


这篇关于Ubuntu下用Eclipse搭建C/C++开发环境中FFTW的配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/434818

相关文章

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入