2014-07-14 70 views
4

我是新的C++,我得到了error: '__locale_t' has not been declared當我包括一些頭文件,如#include "ruby.h"#include <string.h>等等,但有一個爲#include <stdio.h>沒有問題,我使用Linux下的月蝕,#include "ruby.h"#include <string.h>詳細的錯誤是:C++程序,error:「__locale_t」尚未聲明

/usr/include/string.h:548: error: '__locale_t' has not been declared 
/usr/include/string.h:549: error: nonnull argument references non-pointer operand (argument 1, operand 3) 
/usr/include/string.h:552: error: '__locale_t' has not been declared 
/usr/include/string.h:553: error: nonnull argument references non-pointer operand (argument 1, operand 4) 

的順序包括是:

#include "Abc.h" 

#include <string.h> 
#include "ruby.h" 
#include <stdio.h> 

哪裏Abc是類名。

這是Abc類,那麼除了該include補充說:

#include "Abc.h" 
#include <stdio.h> 
#include <string.h> 
#include "ruby.h" 

#include "ose_gw.h" 

namespace a { 

Abc::Abc() { 
    // TODO Auto-generated constructor stub 
} 

Abc::~Abc() { 
    // TODO Auto-generated destructor stub 
} 

} /* namespace a */ 
+0

@ 0x499602D2就在那兒。 –

+0

嘗試首先包括'std.h'。 – 0x499602D2

+0

@ 0x499602D2也不起作用。 –

回答

0

顯然這是一個已知的問題,這是記錄爲一個錯誤,但實際上是某種微妙的錯誤配置。

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52922

我是Windows的傢伙,這是我的聯賽,但得到的答覆是在那裏的地方(我認爲)。