Also noted there's a number of conversions from size_t to int in ssl.c and internal.c, at this point it's got to be some define I'm missing..

internal.c(4821) : warning C4267: '=' : conversion from 'size_t' to 'word32', possible loss of data

ssl.c(87) : warning C4267: 'initializing' : conversion from 'size_t' to 'unsigned int', possible loss of data
ssl.c(1403) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
ssl.c(1566) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
ssl.c(2087) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
ssl.c(6567) : warning C4267: 'function' : conversion from 'size_t' to 'word32', possible loss of data

Upon further inspection it appears that:

mp_sqr (&M[1 << (winsize - 1)], &M[1 << (winsize - 1)])) != MP_OKAY) {

might need to be:

mp_sqr (&M[1i64  << (winsize - 1)], &M[1 << (winsize - 1)])) != MP_OKAY) {

As nearest I can tell the resultant pointer is 64bits in size, so wouldn't you need to 64bit shift operation?

I appears the compiler figures that out, but I just wanted to see if I was mistaken.

Thanks!

I'm sure it's something simple, but what settings/modifications need to be made to take the visual studio project provided with 2.4 and make it build on x64 Windows 7 (VS 2008).

When I change the project configuration to x64 I get the following errors:

misc.c(164) : warning C4305: 'type cast' : truncation from 'byte *' to 'word'

integer.c(3227): warning C4334: '<<' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)

ssl.h(31) : fatal error C1083: Cannot open include file: 'cyassl/version.h': No such file or directory

When I do nothing and just use Win32 I still get the version.h error, that looks like a simple fix, but I just can't shake the feeling I'm missing a step.

-hz