C++ 尝试使用boost库时缺少gmp.h
我正在尝试在windows上使用带有QT的boost库。我已经成功地构建了这个库,并且成功地将它包含在我的项目中。但是,在包含gmp(C++ 尝试使用boost库时缺少gmp.h,c++,windows,boost,C++,Windows,Boost,我正在尝试在windows上使用带有QT的boost库。我已经成功地构建了这个库,并且成功地将它包含在我的项目中。但是,在包含gmp(#包含“boost/multiprecision/gmp.hpp”)和创建对象(boost::multiprecision::mpz_int myint;)时,我遇到以下错误: C:\Users\Laurenz\Documents\libraries\boost\u 1\u 66\u 0\include\boost\multiprecision\gmp.hpp:3
#包含“boost/multiprecision/gmp.hpp”
)和创建对象(boost::multiprecision::mpz_int myint;
)时,我遇到以下错误:
C:\Users\Laurenz\Documents\libraries\boost\u 1\u 66\u 0\include\boost\multiprecision\gmp.hpp:31:错误:gmp.h:没有这样的文件或目录
事实上,我还没有在boost目录中找到任何这样的文件。我做错了什么?安装依赖项并链接到它。(见附件)
可选地,考虑使用GMP,使用<代码> CPPPyIt.HPP < /C> > < < /P> >
既然您已经安装了GMP库,下面是最后一步:
#include <boost/multiprecision/gmp.hpp>
#include <iostream>
int main() {
boost::multiprecision::mpz_int i("1238192389824723487823749827349879872342834792374897923479");
std::cout << pow(i, 3) << "\n";
}
运行它:
./demo
1898298004808110659499396020993351679788129852647955073547637871096272981567489303363372689896302906549189545322451852317205769760555889831589125591739044248515246136031239
您需要安装。它不是boost库的一部分。有关详细信息,请参阅,例如,好的,我刚刚下载了它。。。但我现在到底要把gmp.h移到哪里呢?这不仅仅是把gmp.h文件放在适当的地方。您必须安装整个gmp库,就像必须安装boost库一样。如果操作正确,系统可能会在定义一些环境变量后找到该文件。我假设关于如何为给定操作系统安装和使用gmp的说明并不难找到;或者在这里搜索相应的问题,或者通过你最喜欢的搜索引擎。好的,我知道了。我想我成功地安装了它,因为现在我再也不会出现这个错误了。但是,没有,我收到的消息是
C:\Users\Laurenz\Documents\libraries\boost\u 1\u 66\u 0\include\boost\multiprecision\gmp.hpp:1041:错误:未定义对\u gmpz\u init'的引用。我在互联网上搜索过,还有其他人也有同样的问题,但提出的解决方案似乎都不适合我。你知道怎么解决吗?
./demo
1898298004808110659499396020993351679788129852647955073547637871096272981567489303363372689896302906549189545322451852317205769760555889831589125591739044248515246136031239