用C ++打印四倍精度向量

时间:2016-06-25 14:34:01

标签: c++ vector quadruple-precision

我试图在CodeBlocks中使用GCC 4.7.1打印四倍精度向量。这是代码:

#include <iostream>
#include <vector>
#include <quadmath.h>

...

int width = 46;
char buf[128];
for (std::vector<__float128>::const_iterator i = sol_r.begin(); i != sol_r.end(); ++i)
{
    int n = quadmath_snprintf (buf, sizeof buf, "%+-#*.20Qe", width, *i);
    if ((size_t) n < sizeof buf)
    {
        std::cout << buf << ' ';
    }
}

我收到此错误:undefined reference to 'quadmath_snprintf(char*, unsigned int, char const*, ...)'。我做错了什么?

关于重复索赔,表示为重复的答案确实包含解决方案的一部分,但这是一个包含几个不同问题的一般性问题。

在打印四倍精度向量时遇到问题的用户很可能缺乏经验(就像我一样),并且会从更简洁的答案和/或更精确的来源中获益更多。

这里提出的问题可以通过以下方式解决:

https://gcc.gnu.org/ml/gcc-help/2011-06/msg00148.html(将标题添加为extern)

What is an undefined reference/unresolved external symbol error and how do I fix it?(将相关库链接为libquadmath

0 个答案:

没有答案