【问题标题】:Kiss fft linker error in Borland C++Borland C++中的Kiss fft链接器错误
【发布时间】:2014-04-17 08:10:50
【问题描述】:

我在编译我的程序时遇到问题。我在我的项目中使用 Kiss FFT 库,但是当我尝试构建它时,我得到了这些错误:

[Linker Error] Error: Unresolved external '_kiss_fft_alloc' referenced from C:\[path]\UNIT4.OBJ

[Linker Error] Error: Unresolved external '_kiss_fft' referenced from C:\[path]\UNIT4.OBJ

我认为这是函数名称前的“_”,但到目前为止我不知道如何解决它。

代码:

Unit4.cpp - gist.github.com/anonymous/fa33e0982240b00ff8c8

Unit4.h - gist.github.com/anonymous/b35e9abf93c93aeb1d45

[编辑]

我切换到 FFWT 库,但我遇到了同样的问题。我已经编译了库并将它们添加到编译器路径和链接器路径中的 Borland 项目。

[Linker Error] Error: Unresolved external '_fftw_malloc' referenced from C:\[path]\UNIT4.OBJ
[Linker Error] Error: Unresolved external '_fftw_plan_dft_1d' referenced from C:\[path]\UNIT4.OBJ
[Linker Error] Error: Unresolved external '_fftw_execute' referenced from C:\[path]\UNIT4.OBJ
[Linker Error] Error: Unresolved external '_fftw_destroy_plan' referenced from C:\[path]\UNIT4.OBJ
[Linker Error] Error: Unresolved external '_fftw_free' referenced from C:\[path]\UNIT4.OBJ

例如当我使用

【问题讨论】:

  • 您确定将库添加到您的项目中了吗?是你的项目无法构建还是外部库的问题?
  • Unit4.cpp - gist.github.com/anonymous/fa33e0982240b00ff8c8 Unit4.h - gist.github.com/anonymous/b35e9abf93c93aeb1d45 是的,我已经将带有 Kiss FFT 的目录添加到编译器和链接器路径中,并且我已经在智能中看到了 Kiss FFT 函数,所以它在某种程度上是有效的。对不起,如果我的代码有点笨拙,我现在正在尝试很多东西。
  • 但我只添加了kiss_fft.h ...也许这不是正确的方法,但到目前为止我还没有找到任何关于它的使用信息,所以我认为它是这样工作的。也许这就是问题所在。
  • 鉴于您已将 .lib 添加到项目中,您是否使用 Borland implib 工具重新生成了 .lib 本身?从此链接开始以获取有关操作方法的更多信息social.msdn.microsoft.com/Forums/en-US/…
  • 不,我使用了 Kiss_fft .h 文件。没有.lib。谢谢你的链接。

标签: c++ signal-processing borland-c++ kissfft


【解决方案1】:

您的问题是基本的 C/C++ 用法。

您必须在项目中包含已编译的代码才能在您的项目中使用。

KISSFFT 自带源码。该源代码必须经过编译并链接到您的程序。

FFTW 以库的形式安装。其他人将其编译到库中。您正在使用“#pragma comment(lib ...”

将其链接到您的可执行文件中

【讨论】:

    【解决方案2】:

    我在 Borland 找到了 FFTW 库的解决方案。除了通过 'implib' 编译 lib 文件之外,我还添加了

    #pragma comment(lib, "fftw3-3.lib")
    #pragma comment(lib, "fftw3f-3.lib" )
    #pragma comment(lib, "fftw3l-3.lib" )
    

    还将 .dll 文件复制到可执行文件夹,现在可以编译。但是,我不确定它是否正常工作。

    Kiss FFT 对我来说仍然是个谜。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 2015-11-14
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      相关资源
      最近更新 更多