无法链接到 fftw3 库

2024-01-28

我正在编译一个测试程序来测试fftw3(ver3.3.4)。由于它不是使用 root previlidge 安装的,所以我使用的命令是:

gcc -lm -L/home/my_name/opt/fftw-3.3.4/lib/ -I/home/my_name/opt/fftw-3.3.4/include/ fftwtest.c

库安装在哪里

/home/my_name/opt/fftw-3.3.4/

我的代码是 fftw3 网站上的第一个教程:

#include <stdio.h>
#include <fftw3.h>
int main(){
    int n = 10;
    fftw_complex *in, *out;
    fftw_plan p;

    in = (fftw_complex*) fftw_malloc(n*sizeof(fftw_complex));
    out = (fftw_complex*) fftw_malloc(n*sizeof(fftw_complex));
    p = fftw_plan_dft_1d(n, in, out, FFTW_FORWARD, FFTW_ESTIMATE);

    fftw_execute(p); /* repeat as needed */

    fftw_destroy_plan(p);

    fftw_free(in); fftw_free(out);

    return 0;
}

当我编译该程序时,它返回以下错误:

/tmp/ccFsDL1n.o: In function `main':
fftwtest.c:(.text+0x1d): undefined reference to `fftw_malloc'
fftwtest.c:(.text+0x32): undefined reference to `fftw_malloc'
fftwtest.c:(.text+0x56): undefined reference to `fftw_plan_dft_1d'
fftwtest.c:(.text+0x66): undefined reference to `fftw_execute'
fftwtest.c:(.text+0x72): undefined reference to `fftw_destroy_plan'
fftwtest.c:(.text+0x7e): undefined reference to `fftw_free'
fftwtest.c:(.text+0x8a): undefined reference to `fftw_free'
collect2: ld returned 1 exit status

快速搜索意味着我没有正确链接到该库,但有趣的是它并没有抱怨 fftw_plan 和 fftw_complex 的声明。事实上,如果我删除所有以“fftw_”开头的函数,只保留声明,它将通过编译。

那么我到底哪里出错了呢?链接正确吗?任何建议将不胜感激。


您已经告诉链接器在哪里可以通过以下方式找到库-L,但您还没有告诉它要链接到哪个库。后者你可以通过添加-lfftw3在该行的末尾,之前-lm.

此外,-L标志需要列在后面fftwtest.c.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法链接到 fftw3 库 的相关文章

  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • php header 立即定位?

    为什么 Location 标头没有立即重定向页面 它总是在重定向之前执行整个过程 我举一些例子 header Location http www php net f fopen demo txt w fwrite f Test fclose
  • 如何生成不生成超过 X 个连续元素的随机数序列

    好吧 我真的不知道如何正确地提出这个问题 因为我几乎不知道如何用一句话来描述我想要的东西 我很抱歉 让我开门见山 你可以跳过剩下的 因为我只是想表明我已经尝试过一些东西 而不是来这里一时兴起问问题 我需要一个生成 6 个随机数的算法 但在该
  • 无法从 Angular http 检索数据

    我正在尝试使用 http 模块使用下面的代码从 mongodb 中的集合中检索数据 getPosts return this http get http localhost 5005 blog getposts map res gt con
  • 如何使用 Android 代码使用呼叫拨号器(键盘)启动隐藏的应用程序? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想通过以编程方式拨打某些预定义号码来启动我的应用程序 这是一个隐藏的应用程序 例如 111 我打开拨号器并输入 111 然后我的应用程序收
  • 如何使用java在数组中获取用户输入?

    如何使用Java在数组中获取用户输入 即我们不会在程序中自己初始化它 但用户将给出它的值 请指导 这是一个简单的代码 用于读取字符串stdin 将它们添加到List
  • Matlab 图像中的自主接缝检测

    I m trying to detect seams in welding images for an autonomous welding process I want to find pixel positions of the det
  • JFileChooser 更改 Windows 中的默认目录

    我想将 JFileChooser 的默认目录更改为 Windows 上的 我的音乐 这个目录是C Users Fre Music在我的帐户上 因为我的用户名是Fre 默认设置为C Users Fre Documents 我认为取决于操作系统
  • 为所有新命令对象设置自定义默认 CommandTimeout

    默认命令超时 http msdn microsoft com en us library system data sqlclient sqlcommand commandtimeout aspx值为 30 秒 您可以通过执行以下操作手动更改
  • AngularJS:初始化 ZURB Foundation JS

    我同时使用 AngularJS 和 Foundation 要初始化 Foundation JS 您必须进行以下调用 document foundation 在 AngularJS 应用程序中进行此调用的最佳方式是什么 代码示例将不胜感激 另
  • RPG 游戏循环和类结构(cocos2D for iPhone)

    我想在 iPhone 上使用 Cocos2D 制作一款 RPG 我做了相当多的研究 我真的很喜欢 Cocos2D 用于场景的模型 我可以实例化一个场景 设置我的角色等 这一切都工作得非常好 我遇到的问题是构建游戏循环并将代码与场景分开 例如
  • 如何使用 PyCharm 启动远程调试?

    我正在尝试在 PyCharm 在 Windows 主机上 和运行我的 django 应用程序的 debian 虚拟主机之间进行调试 说明显示安装 Egg 添加导入 然后调用命令 我认为这些事情需要在 debian 主机上完成 好的 那么这两
  • 如何在正则表达式中检查波斯尼亚语特定字符?

    我有这个正则表达式模式 它非常简单 它验证提供的字符串是否为 alpha 大写和小写 var pattern a zA Z gi 当我触发时pattern test Zlatan Omerovic 它返回true 但是如果我 pattern
  • 如何离线安装Notepad++插件?

    我正在尝试安装 Notepad 插件Plugins gt Plugin Manager 但我的办公室防火墙限制其下载 有没有其他方法可以离线安装插件 以下是对我有用的步骤 Download https sourceforge net pro
  • 如何从 Visual Studio 2010 调试托管 BHO

    我有一个运行良好的托管资源管理器栏 在 Internet Explorer 中工作 目前 唯一的调试方法是 在VS之外启动IE 从 VS 调试 gt 附加 附加到进程 iexplore exe 尝试执行以下操作 转到项目属性 gt 调试选项
  • 使用 Jquery 禁用锚标记

    我有一个与锚标记关联的图像 一旦用户单击该图像 就会加载弹出窗口 我想禁用这个锚标记 html 代码如下所示 a href class openModalLink img style border none width 9 alt clas
  • ionic @ionic-native/geolocation 添加提供程序问题

    Type GeolocationOriginal is not assignable to type Provider Type GeolocationOriginal is missing the following properties
  • 具有嵌套模型类的 Razor 视图

    我有一个嵌套类 例如 public class Jar public IEnumerable
  • 使用 PHP 进行 Xpath 查询(取两个值)

    这是我正在使用的 XML 代码
  • 加载动态 .ini 标识符

    我正在创建我的学生计划表的虚拟版本 它基本上可以让你记下你有哪些科目的作业 Here is the interface 用户从组合框中选择主题并在相邻的备忘录中输入一些注释 完成后 他们将单击 保存 按钮 将其保存到 ini 文件中 所选日
  • 无法链接到 fftw3 库

    我正在编译一个测试程序来测试fftw3 ver3 3 4 由于它不是使用 root previlidge 安装的 所以我使用的命令是 gcc lm L home my name opt fftw 3 3 4 lib I home my na