NTL的使用,vs2019
为保证正确性,完全走了一遍流程
目录
1.下载源码并解压
2.将include\NTL文件夹放入搜索路径,使.h文件可以被找到
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\include
问题:为什么不把.h直接放include下,把NTL文件夹脱了行不行
这是为了方便,源码里的都是#include <NTL/***>
脱去文件夹的话都需要修改
不知道默认搜索路径的参考这篇文章
当然可以附加一个新的搜索路径,只要能被搜到,都ok
3.接下来就是处理源文件.cpp文件
1.新建静态库项目,项目下自动生成的.h.cpp文件都删了
2.将src下所有的.cpp源文件添加进项目
右击源文件,添加,现有项,找到后全选即可
3.右击解决方案,最下面属性,或者快捷键alt+enter
修改SDL检查为否
4.继续修改属性
修改为不使用预编译头
5.生成即可
4.到刚才项目下的debug下找到.lib文件,加入到库文件的搜索目录中
我把NTL.lib放在了
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\lib\x86
路径下,不知道库搜索目录的还是在上面的这篇文章
5.接下来开始测试,新建一个控制台项目
修改项目属性,去掉SDL检查,如果还出错就检查下预编译头
6.编译器链接刚刚生成的静态库
方式1.#pragma comment(lib,"生成的静态库名称.lib")
方式2.alt+enter调出属性
填入名称即可,不用加路径前缀,因为已经在默认搜索路径中
7.测试代码,成功
#include <iostream>
#include <NTL/ZZ.h>
using namespace std;
using namespace NTL;
#pragma comment(lib,"NTL.lib")
int main()
{
ZZ a, b, c;
cin >> a >> b;
c = a * b;
cout << c<<endl;
system("pause>nul");//无提示暂停
return 0;
}
8.调试运行
该lib是在调试模式下生成的,其是包含调试运行的一些额外的信息,比如某段编译后的代码对应的cpp文件中的哪一行,平时调试的时候单步运行就是依赖的这个信息确定的。此时把对应的cpp文件都包含进来就可以单步调试了,ctrl+左键单击也可以跳到对应的定义。
具体操作,右击源码,添加现有项,将.cpp文件全部加入项目。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具