如何在Visual Studio Code的代码运行程序(在Linux中)中使用C++链接到GMP?

How to link to GMP using C++ in Visual Studio Code's Code Runner (in Linux)?

提问人:blipblop 提问时间:3/13/2019 最后编辑:karelblipblop 更新时间:3/14/2019 访问量:506

问:

我一直在使用 Visual Studio Code Runner 编译 C++ 项目没有问题,但现在我需要将 GMP 后端与 Boost 多精度库一起使用。

正如我在另一个问题中所示,我已经有了仅依赖于 Boost Multiprecision Library 的工作代码。我想做的是使用 GMP 的高精度浮子,而不是 Boost 附带的浮子。如下所示:

#include <iostream>
#include <boost/math/distributions/negative_binomial.hpp>
#include <boost/multiprecision/gmp.hpp>

using namespace std;
using namespace boost;

typedef boost::multiprecision::number<boost::multiprecision::gmp_float<50>> myPrecision;
// typedef boost::multiprecision::mpf_float_50 myPrecision; // this also raises the errors

template <class T1, class T2>
myPrecision negbinPDF(T1 passed_val, T2 passed_par1, T2 passed_par2)
{
    myPrecision val = myPrecision(passed_val);
    myPrecision par1 =  myPrecision(passed_par1);
    myPrecision par2 = myPrecision(passed_par2);

    return math::pdf(math::negative_binomial_distribution<myPrecision>(par1, par2), val);
};

int main() {
    auto p = negbinPDF(1.23456789012345678901234567890, 8.0, 0.25);
    cout << "The PDF is: " << p << endl;
}

运行上述代码时,会引发许多错误(请参阅此处),从一些未定义的引用开始。因此,我的问题:如何使用 Visual Studio Code 的 Code Runner(在 Linux 中)链接到 GMP?

C++ visual-studio-code 链接器 gmp vscode-code-runner

评论

0赞 πάντα ῥεῖ 3/13/2019
而是显示您的项目依赖项、congiguration 和另外应用的确切链接器命令。
0赞 blipblop 3/13/2019
@πάνταῥεῖ我只是使用 Code Runner,而不是从终端编译。我不知道的是如何配置它以链接到 GMP。

答: 暂无答案