文章目录
-
-
- [1. 安装依赖项](#1. 安装依赖项)
- [2. 安装 `gcc9` 和 `g++9`](#2. 安装
gcc9
和g++9
) - [3. 下载 FFTW 3.3.10 源码](#3. 下载 FFTW 3.3.10 源码)
- [4. 配置编译选项](#4. 配置编译选项)
- [5. 编译和安装](#5. 编译和安装)
- [6. 验证安装](#6. 验证安装)
- [7. 相关配置(可选)](#7. 相关配置(可选))
- [8. 编译使用 FFTW 的程序](#8. 编译使用 FFTW 的程序)
-
在 Ubuntu 20 上使用 gcc9
和 g++9
编译 FFTW 3.3.10 需要以下几个步骤,包括安装依赖、下载源码、配置编译环境,并最终进行编译与安装。
1. 安装依赖项
首先,确保安装了 gcc9
和 g++9
以及编译 FFTW 所需的工具和库。
bash
sudo apt update
sudo apt install build-essential libtool autoconf pkg-config
2. 安装 gcc9
和 g++9
Ubuntu 20 默认安装的 GCC 版本可能较低,因此需要手动安装 gcc9
和 g++9
。
bash
sudo apt install gcc-9 g++-9
你可以通过以下命令切换默认编译器为 gcc9
和 g++9
:
bash
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100
检查版本是否正确:
bash
gcc --version
g++ --version
3. 下载 FFTW 3.3.10 源码
从 FFTW 官方网站或使用 wget
命令下载 FFTW 3.3.10 的源码:
bash
wget http://www.fftw.org/fftw-3.3.10.tar.gz
解压缩下载的源码文件:
bash
tar -xvzf fftw-3.3.10.tar.gz
cd fftw-3.3.10
4. 配置编译选项
为了确保使用 gcc9
和 g++9
进行编译,配置编译环境:
bash
CC=gcc-9 CXX=g++-9 ./configure --enable-shared --enable-threads --with-pic
选项说明:
--enable-shared
:启用共享库(.so
文件)的构建。--enable-threads
:启用多线程支持。--with-pic
:在静态库中使用位置无关代码(Position Independent Code),以便与共享库一起工作。
5. 编译和安装
一旦配置完成,使用以下命令进行编译:
bash
make -j$(nproc)
-j$(nproc)
参数会根据系统 CPU 核心数量并行编译,提高编译速度。
然后使用以下命令安装 FFTW:
bash
sudo make install
6. 验证安装
编译和安装完成后,使用以下命令验证安装是否成功:
bash
ldconfig -p | grep fftw
如果输出中有 FFTW 的共享库信息,则说明安装成功。你还可以通过运行 FFTW 提供的测试程序来验证安装:
bash
make check
7. 相关配置(可选)
如果你希望 pkg-config
能找到 FFTW 库,可以将库路径添加到系统中:
bash
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
这样,编译其他依赖 FFTW 的项目时,pkg-config
可以正确找到 FFTW 库。
8. 编译使用 FFTW 的程序
编译使用 FFTW 的程序时,确保链接到 FFTW 的库,通常可以通过以下方式进行编译:
bash
gcc your_program.c -o your_program -lfftw3 -lm
-lfftw3
链接 FFTW 库,-lm
链接数学库。