Hello,
I compiled one of my quickfix projects with the new Microsoft compiler
(VC8) today.
So, as usual, M$ has its own way.
To compile quickfix you need to add a define into the project:
_CRT_SECURE_NO_DEPRECATE.
Plus there is an issue with time_t structure which is 64 bit now (even
if you compile on a 32 machine).
I added two fixes in QUICKFIX/src/C++/FieldTypes.h to solve it:
inline long operator-( const UtcTimeStamp& lhs, const UtcTimeStamp& rhs )
{
tm l_copy = lhs; tm r_copy = rhs;
time_t l_time = mktime( &l_copy );
time_t r_time = mktime( &r_copy );
return *(long)*(l_time - r_time);
}
inline long operator-( const UtcDate& lhs, const UtcDate& rhs )
{
tm l_copy = lhs; tm r_copy = rhs;
time_t l_time = mktime( &l_copy );
time_t r_time = mktime( &r_copy );
return *(long)*(( l_time - r_time ) / UTC_DAY);
}
I don't know if it's stable and faster yet, I'll try the new version Monday.
--
Regards,
Alexey Zubko
|