vector<DateTime> time;
template argument for «template class std::allocator» uses local type
До С++11 нельзя было использовать локальные типы в параметрах шаблона. Вижуал студио вам, видимо, подставляет в параметрах сборки проекта "собирать с последним стандартом" или что-то типа того. Под линуксом, в makefile пропишите -std=c++11 в параметрах компиляции, это включит поддержку фич из этого стандарта.
( следующие ошибки как раз из-за того, что нам не удалось правильно объявить этот вектор).
нет декларации «rand» в этой области видимости
rand объявлен в хедере cstdlib, который нужно подключить
unsigned __int16 m_bytesCount = 0;
function2.cpp:35:9: ошибка: нет декларации «m_bytesCount» в этой области видимости
__int16 - это некросплатформенный способ объявлять типы фиксированной ширины. Кросплатформенный - подключить cstdint и использовать int16_t и т.д.