Полностью измененный ответ:
ПРЕДЛОЖЕНИЯ:
1) Убедитесь, что вы #include эти заголовки:
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
2) Наведите указатель на "const"
time = localtime((const time_t *)&file->st_mtime);
3) Отпишитесь, что получилось
=====================================================
ДОПОЛНИТЕЛЬНЫЕ ПРЕДЛОЖЕНИЯ:
1) Пожалуйста, прочитайте эти две ссылки:
Начиная с ядра 2.5.48, структура статистики поддерживает разрешение в наносекундах для трех полей отметки времени файла. Glibc предоставляет наносекундный компонент каждого поля, используя имена в форме st_atim.tv_nsec, если определен макрос тестирования функций _BSD_SOURCE или _SVID_SOURCE. Эти поля указаны в POSIX.1-2008, и, начиная с версии 2.12, glibc также предоставляет имена этих полей, если _POSIX_C_SOURCE определен со значением 200809L или выше, или _XOPEN_SOURCE определен со значением 700 или выше. Если ни один из вышеупомянутых макросов не определен, то значения наносекунд отображаются с именами в форме st_atimensec. В файловых системах, не поддерживающих метки времени в долях секунды, поля наносекунд возвращаются со значением 0.
2) Очевидно, что make-файл (который «работает») имеет #define, которого нет в Eclipse, или наоборот.
Вероятно, либо/и _POSIX_C_SOURCE, и/или _XOPEN_SOURCE.
Запустите эту команду, чтобы увидеть, что существует в среде командной строки (makefile?):
gcc -dM -E - < /dev/null | less
3) Пожалуйста, отправьте обратно то, что вы найдете!
person
paulsm4
schedule
26.07.2012