Реальная простая программа:
#include <time.h>
main()
{
timezone;
}
Я получаю ошибку компиляции:
error: 'timezone' was not declared in this scope
На моем компьютере с Ubuntu эта программа прекрасно компилируется с использованием стандартных time.h
тот выглядит так. Вы можете найти строки, которые имеют отношение к определению timezone
…
275 /* Defined in localtime.c. */
278 extern long int __timezone; /* Seconds west of UTC. */
290 # if defined __USE_SVID || defined __USE_XOPEN
292 extern long int timezone;
293 # endif
Теперь немного более сложная часть, где я получаю ошибку. Я пытаюсь построить эту программу с Xilinx ISE работать на встроенном чипе ARM. Xilinx предоставляет все стандартные библиотеки C и C ++ и заголовки, такие как time.h
, Но Xilinx при условии time.h
похоже не определяет timezone
должным образом. Это единственная строка, связанная с timezone
:
extern __IMPORT long _timezone;
Я не совсем уверен, что с этим делать. Объяснение будет оценено. Кажется ужасно странным, что стандартная библиотека будет реализована неправильно, даже специализированная версия, оптимизированная для чипа ARM. кто-нибудь знает, как решить эту проблему?
Задача ещё не решена.
Других решений пока нет …