undefined reference to libquadmath routines
Ian Lance Taylor
iant@google.com
Tue Jun 7 13:46:00 GMT 2011
Syed Bilal Mehdi <bilal.mehdi87@gmail.com> writes:
> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:13:
> undefined reference to `sqrtq(__float128)'
> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:14:
> undefined reference to `quadmath_snprintf(char*, unsigned int, char const*,
> ...)'
> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:18:
> undefined reference to `quadmath_snprintf(char*, unsigned int, char const*,
> ...)'
> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:22:
> undefined reference to `quadmath_snprintf(char*, unsigned int, char const*,
> ...)'
> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:28:
> undefined reference to `quadmath_snprintf(char*, unsigned int, char const*,
> ...)'
> /site/ae/shares/MotionLab/papers/pingpong/examples/LongDoublePrecisionTests/test.cpp:18:
> undefined reference to `quadmath_snprintf(char*, unsigned int, char const*,
> ...)'
>
> What am I missing here. I tried specifying -lquadmath but that didn't help!!
The format of those errors tells me that you are calling these as C++
functions, but they are written in C. There is a missing extern "C"
somewhere.
In fact, it's in quadmath.h. That's a bug. Please file a bug report
for it. Thanks.
In the meantime, write this:
extern "C" {
#include "quadmath.h"
}
Ian
More information about the Gcc-help
mailing list