I'm sure I'm doing something wrong here, but I don't know what. I am using the RTCZero (v1.5.0) library in a project to be compiled for TinyScreen+ from TinyCircuits. I have seen another project for TinyScreen+ use this lib, so have reason to believe it's appropriate. In fact, this error is documented in a page describing the project, OWatch (Simple Watch Using RTC - Hackster.io), but I have made the suggested correction, restarted Arduino, and the problem still recurs. Leads me to believe I still have time.h included via some other lib, but I'm not seeing it in the verbose compiler output below. Anyone have ideas what could be wrong?
(I've been trying to replace long strings to trim the compiler output down below the forum's limit, but can't. So here is just the error output. Entire output can be seen at http://pastebin.com/hLY2jgH2)
Compiling library "RTCZero"
"C:\Users\tastewar\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-g++" -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD -DF_CPU=48000000L -DARDUINO=10611 -DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__ -DUSB_VID=0x03EB -DUSB_PID=0x8009 -DUSBCON '-DUSB_MANUFACTURER="TinyCircuits"' '-DUSB_PRODUCT="TinyScreen+"' "-IC:\Users\tastewar\AppData\Local\Arduino15\packages\arduino\tools\CMSIS\4.0.0-atmel/CMSIS/Include/" "-IC:\Users\tastewar\AppData\Local\Arduino15\packages\arduino\tools\CMSIS\4.0.0-atmel/Device/ATMEL/" "-IC:\Users\tastewar\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.3\cores\arduino" "-IC:\Users\tastewar\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.3\variants\tinyscreen_p" "-IC:\Users\tastewar\Documents\Arduino\libraries\Time" "-IC:\Users\tastewar\Documents\Arduino\libraries\Timezone" "-IC:\Users\tastewar\Documents\Arduino\libraries\Flash\src" "-IC:\Users\tastewar\Documents\Arduino\libraries\TinyCircuits-TinyScreen_Lib" "-IC:\Users\tastewar\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.3\libraries\SPI" "-IC:\Users\tastewar\AppData\Local\Arduino15\packages\TinyCircuits\hardware\samd\1.0.3\libraries\Wire" "-IC:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src" "C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp" -o "C:\Users\tastewar\AppData\Local\Temp\buildb02b8a053f3066e48b3ad8ad08f7b235.tmp\libraries\RTCZero\RTCZero.cpp.o"
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp: In member function 'uint32_t RTCZero::getEpoch()':
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:373:13: error: aggregate 'RTCZero::getEpoch()::tm tm' has incomplete type and cannot be defined
struct tm tm;
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:385:20: error: 'mktime' was not declared in this scope
return mktime(&tm);
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp: In member function 'void RTCZero::setEpoch(uint32_t)':
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:401:31: error: 'gmtime' was not declared in this scope
struct tm* tmp = gmtime(&t);
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:403:36: error: invalid use of incomplete type 'struct RTCZero::setEpoch(uint32_t)::tm'
RTC->MODE2.CLOCK.bit.YEAR = tmp->tm_year - EPOCH_TIME_YEAR_OFF;
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:401:12: error: forward declaration of 'struct RTCZero::setEpoch(uint32_t)::tm'
struct tm* tmp = gmtime(&t);
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:404:37: error: invalid use of incomplete type 'struct RTCZero::setEpoch(uint32_t)::tm'
RTC->MODE2.CLOCK.bit.MONTH = tmp->tm_mon + 1;
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:401:12: error: forward declaration of 'struct RTCZero::setEpoch(uint32_t)::tm'
struct tm* tmp = gmtime(&t);
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:405:35: error: invalid use of incomplete type 'struct RTCZero::setEpoch(uint32_t)::tm'
RTC->MODE2.CLOCK.bit.DAY = tmp->tm_mday;
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:401:12: error: forward declaration of 'struct RTCZero::setEpoch(uint32_t)::tm'
struct tm* tmp = gmtime(&t);
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:406:36: error: invalid use of incomplete type 'struct RTCZero::setEpoch(uint32_t)::tm'
RTC->MODE2.CLOCK.bit.HOUR = tmp->tm_hour;
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:401:12: error: forward declaration of 'struct RTCZero::setEpoch(uint32_t)::tm'
struct tm* tmp = gmtime(&t);
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:407:38: error: invalid use of incomplete type 'struct RTCZero::setEpoch(uint32_t)::tm'
RTC->MODE2.CLOCK.bit.MINUTE = tmp->tm_min;
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:401:12: error: forward declaration of 'struct RTCZero::setEpoch(uint32_t)::tm'
struct tm* tmp = gmtime(&t);
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:408:38: error: invalid use of incomplete type 'struct RTCZero::setEpoch(uint32_t)::tm'
RTC->MODE2.CLOCK.bit.SECOND = tmp->tm_sec;
^
C:\Users\tastewar\Documents\Arduino\libraries\RTCZero\src\RTCZero.cpp:401:12: error: forward declaration of 'struct RTCZero::setEpoch(uint32_t)::tm'
struct tm* tmp = gmtime(&t);
^