Menu

#6 build fails with VS2013

CVS_HEAD
open
nobody
None
5
2014-03-27
2014-03-27
Ralf Fassel
No

When using VS2012 or VS2013 for building iocpsock, the build fails a static assert regarding the time_t typedef. Reason is: some system headers are included early in iocpsockInt.h, they define time_t as a 64-bit entity. Then tclInt.h is included, which defines the _USE_32BIT_TIME_T macro, and then some other system headers are included which then trigger the static assert that time_t and time32_t have different sizes.

  • tclInt.h should be included first in iocpsockInt.h in order to have _USE_32BIT_TIME_T defined right away, but since I don't know what will break if the order of includes is changed, I just added a -D _USE_32BIT_TIME_T in makefile.vc as a workaround.

  • also the VCVERSION detection in rules.vc requires a fix for VC2013 since otherwise it looks in the wrong directory to find the TCL library when linking.

See iocpsock.patch attached.

1 Attachments

Discussion


Log in to post a comment.

MongoDB Logo MongoDB