Кажется, для поддержки локали на моей коробке:
$ cat whytime.cc
#define _TIME_H_
#include <iostream>
int main() {
std::cout << "hello, world" << std::endl;
return 0;
}
$ g++ -Wall -Werror -Wextra -ansi -o whytime whytime.cc && ./whytime
In file included from /usr/include/c++/4.2.1/cwchar:52,
from /usr/include/c++/4.2.1/bits/postypes.h:46,
from /usr/include/c++/4.2.1/iosfwd:49,
from /usr/include/c++/4.2.1/ios:43,
from /usr/include/c++/4.2.1/ostream:45,
from /usr/include/c++/4.2.1/iostream:45,
from whytime.cc:2:
/usr/include/c++/4.2.1/ctime:66: error: ‘::clock_t’ has not been declared
/usr/include/c++/4.2.1/ctime:68: error: ‘::tm’ has not been declared
/usr/include/c++/4.2.1/ctime:70: error: ‘::clock’ has not been declared
/usr/include/c++/4.2.1/ctime:71: error: ‘::difftime’ has not been declared
/usr/include/c++/4.2.1/ctime:72: error: ‘::mktime’ has not been declared
/usr/include/c++/4.2.1/ctime:73: error: ‘::time’ has not been declared
/usr/include/c++/4.2.1/ctime:74: error: ‘::asctime’ has not been declared
/usr/include/c++/4.2.1/ctime:75: error: ‘::ctime’ has not been declared
/usr/include/c++/4.2.1/ctime:76: error: ‘::gmtime’ has not been declared
/usr/include/c++/4.2.1/ctime:77: error: ‘::localtime’ has not been declared
/usr/include/c++/4.2.1/ctime:78: error: ‘::strftime’ has not been declared
In file included from /usr/include/c++/4.2.1/locale:46,
from /usr/include/c++/4.2.1/bits/ostream.tcc:46,
from /usr/include/c++/4.2.1/ostream:572,
from /usr/include/c++/4.2.1/iostream:45,
from whytime.cc:2:
/usr/include/c++/4.2.1/bits/locale_facets.tcc: In member function ‘_InIter std::time_get<_CharT, _InIter>::_M_extract_via_format(_InIter, _InIter, std::ios_base&, std::_Ios_Iostate&, tm*, const _CharT*) const’:
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1839: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1846: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1854: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1861: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1873: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1880: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1883: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1895: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1900: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1908: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1912: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1932: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1968: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc:1976: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc: In member function ‘virtual _InIter std::time_get<_CharT, _InIter>::do_get_weekday(_InIter, _InIter, std::ios_base&, std::_Ios_Iostate&, tm*) const’:
/usr/include/c++/4.2.1/bits/locale_facets.tcc:2210: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc: In member function ‘virtual _InIter std::time_get<_CharT, _InIter>::do_get_monthname(_InIter, _InIter, std::ios_base&, std::_Ios_Iostate&, tm*) const’:
/usr/include/c++/4.2.1/bits/locale_facets.tcc:2259: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’
/usr/include/c++/4.2.1/bits/locale_facets.tcc: In member function ‘virtual _InIter std::time_get<_CharT, _InIter>::do_get_year(_InIter, _InIter, std::ios_base&, std::_Ios_Iostate&, tm*) const’:
/usr/include/c++/4.2.1/bits/locale_facets.tcc:2288: error: invalid use of incomplete type ‘struct tm’
/usr/include/wchar.h:152: error: forward declaration of ‘struct tm’