2012-11-26 11 views
6

का उपयोग कर रहाचौगुना सटीक quadmath

g++ test.cpp -o test 

मैं त्रुटि मिलती कोड

#include <quadmath.h> 
#include <iostream> 
int main() 
{ 
    char* y = new char[1000]; 
    quadmath_snprintf(y, 1000, "%Qf", 1.0q); 
    std::cout << y << std::endl; 
    return 0; 
} 
आदेशों के साथ

पर अमल करने की कोशिश :

g++ --version 
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 
Copyright (C) 2011 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

मैं समस्या को कैसे ठीक कर सकता हूं?

उत्तर

4

मैं एक ही व्यवहार देखें:

~/coding/q$ g++ test.cpp -lquadmath 
/tmp/ccYdHwL5.o: In function `main': 
test.cpp:(.text+0x51): undefined reference to `quadmath_snprintf(char*, unsigned int, char const*, ...)' 
collect2: ld returned 1 exit status 

एक वैकल्पिक हल हेडर को शामिल करने के लिए है बजाय इस पद्धति का उपयोग कर:

extern "C" { 
#include "quadmath.h" 
} 

जिसके बाद:

~/coding/q$ g++ test.cpp -lquadmath 
~/coding/q$ ./a.out 
1.000000 
+0

धन्यवाद। यह मेरे लिए काम करता है। [कोड] 'g ++ test.cpp -o test -lquadmath ./test 1.000000' – dStack

+0

मैं जीसीसी 5.3.0 का उपयोग कर रहा हूं और यह कामकाज काम नहीं करता है। – ajeh

+0

यह मेरे लिए काम करता था, और विकल्प जोड़ने के लिए - gcc कमांड में lquadmath मेरे सी प्रोग्राम भी काम करने के लिए मिला। – atmelino