在 WSL安装和使用 NTL
在 WSL(Windows Subsystem for Linux)中按照以下步骤安装和使用 NTL:
步骤 1:准备环境
-
更新系统:
sudo apt update && sudo apt upgrade -y
-
安装必要工具和依赖项:
sudo apt install -y build-essential libgmp-dev m4
build-essential
:安装基本的编译工具(如g++
)。libgmp-dev
:提供高精度数学运算支持。m4
:用于某些构建配置。
步骤 2:下载和解压 NTL 源代码
-
从 NTL 官方下载页面 获取最新版本的 NTL,例如
ntl-11.5.1.tar.gz
。
或直接使用以下命令下载:wget https://www.shoup.net/ntl/ntl-11.5.1.tar.gz
-
解压缩下载的文件:
tar -xvzf ntl-11.5.1.tar.gz cd ntl-11.5.1/src
步骤 3:配置和编译
-
运行配置脚本:
./configure NTL_GMP_LIP=on
NTL_GMP_LIP=on
:启用 GMP 优化,以提高性能。
-
编译 NTL:
make
-
测试安装:
make check
如果测试通过,说明 NTL 安装正常。
-
安装 NTL 到系统路径:
sudo make install
默认会安装到
/usr/local
路径下:- 头文件:
/usr/local/include/NTL/
- 静态库:
/usr/local/lib/libntl.a
- 头文件:
步骤 4:验证安装
-
确认头文件是否存在:
ls /usr/local/include/NTL/ZZ.h
-
确认库文件是否存在:
ls /usr/local/lib/libntl.a
步骤 5:编译和运行程序
-
创建一个测试文件
test.cpp
:#include <iostream> #include <NTL/ZZ.h> using namespace std; using namespace NTL; int main() { ZZ a = conv<ZZ>("123456789123456789123456789"); ZZ b = conv<ZZ>("987654321987654321987654321"); ZZ c = a * b; cout << "Result: " << c << endl; return 0; }
-
使用以下命令编译和运行:
g++ -o test test.cpp -lntl -lgmp -lm ./test
-
运行后应该输出计算结果。
可选设置
-
安装到自定义路径:
如果不想安装到/usr/local
,可以在配置时指定:./configure PREFIX=$HOME/ntl-install NTL_GMP_LIP=on
然后在编译时运行:
make make install
安装的库和头文件会被放置在
~/ntl-install
下。 -
启用多线程优化:
配置时默认会启用多线程支持。如果不需要,可以关闭:./configure NTL_THREADS=off
按照以上步骤,你可以在 WSL 中成功安装并使用 NTL 库。安装完成后,可以尝试运行你的程序验证配置是否正确。
编译带有对应库的cpp文件
g++ /home/hamawari/mycode/Prime/3_10/main.cpp -o /home/hamawari/mycode/Prime/3_10/output/main -lntl -lgmp -lm
原文地址:https://blog.csdn.net/ailbj/article/details/143890245
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!