首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用代码::块( FFTW3 )在Windows 10上安装C++库

使用代码::块( FFTW3 )在Windows 10上安装C++库
EN

Stack Overflow用户
提问于 2020-07-08 10:51:43
回答 1查看 1.2K关注 0票数 0

我想在我的系统中安装FFTW3库,它运行在Windows10上。我的编译器是minGW GCC 10.1,我使用的是代码::块。

我从http://www.fftw.org/install/windows.html下载了64位版本,并在C:\Program Files (x86)\CodeBlocks\myLibraries\FFTW3中解压缩。

然后,我遵循这里描述的步骤,https://www.learncpp.com/cpp-tutorial/a3-using-libraries-with-codeblocks/。在步骤4中,它说“告诉链接器在哪里查找库的库文件。”

因为没有.lib文件,所以必须创建它。我复制了libfftw3-3.def文件并将其粘贴到mingw64编译器的bin文件夹中,以便可以使用dlltool。注意,在同一个bin文件夹中存在as.exe可执行文件。我添加了这个目录,即C:\Users\User\Downloads\minGW_GCC_10_1\mingw64\binMinGW dlltool creates empty file中描述的系统路径。

然后,我以admin的身份打开cmd窗口并执行dlltool -v -d nlib32.def -l nlib32.lib。2KB的libfftw3-3.lib文件是在编译器的bin文件夹中创建的。

然后,再次遵循我在上面提供的链接中描述的步骤。为了方便起见,我在下面直接张贴步骤。

每个图书馆一次:

  1. 获得了这个库。下载它从网站或通过一个包manager.
  2. Install库。将其解压缩到一个目录或通过一个包manager.
  3. Tell安装它,编译器在那里查找库的头文件.

在这里,我将路径设置为C:\Program Files (x86)\CodeBlocks\myLibraries\FFTW3

  1. 告诉链接器在哪里查找库文件。

在这里,我将路径设置为C:\Users\User\Downloads\minGW_GCC_10_1\mingw64\bin

每个项目一次:

  1. 告诉链接器哪些静态或导入库文件要链接.

同样,路径被设置为C:\Users\User\Downloads\minGW_GCC_10_1\mingw64\bin

  1. #在您的程序中包括库的头文件.

  1. 确保程序知道在哪里可以找到使用的任何动态库.

当我执行以下代码时

代码语言:javascript
运行
复制
#include <iostream>
#include <fftw3.h>

int main(){

    int N = 100;
    fftw_complex *in;
    in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);

}

我得到了以下错误:“未定义的对'__imp_fftw_malloc‘的引用”。

我不知道我做错了什么,所以编译器找不到我正在调用的函数,但我猜问题在第7步,即“确保程序知道在哪里找到使用的任何动态库”。走一步。请注意,这是我第一次必须处理动态链接库等,所以我仍然感到困惑。

EN

回答 1

Stack Overflow用户

发布于 2020-07-18 09:32:33

我设法使您的代码以三个简单的步骤运行(我想您已经正确地加载和提取了FFTW,并安装了code::块):

  1. 指示FFTW目录,以便可以读取标头fftw3.h。构建选项>搜索目录>编译器,并指定头文件的位置。对我来说是C:\Program Files\FFTW.

  1. libfftw3-3.dll文件从FFTW目录复制到应用程序的.exe旁边。告诉我这是C:\projets\fftwEx\bin\Debug.

  1. 将原始安装目录中的libfftw3-3.dll文件复制并重命名为libfftw3-3.dll.a。然后在构建选项>链接设置>链接库中指明它的路径。对我来说是C:\Program Files\FFTW\libfftw3-3.dll.a.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62793144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档