bcc32 ... .\crypto\rand\rand_win.c
.\crypto\rand\rand_win.c:
Error E2303 .\crypto\rand\rand_win.c 171: Type name expected
Error E2451 .\crypto\rand\rand_win.c 454: Undefined symbol
'HEAP32FIRST' in function RAND_poll
I've examined the unit file 'rand_win.c' and at the line 171 I've found
this statement:
typedef BOOL (WINAPI *HEAP32FIRST)(LPHEAPENTRY32, DWORD, SIZE_T);
The previous version of openssl (0.9.8) contains this statement instead
(and all goes well):
typedef BOOL (WINAPI *HEAP32FIRST)(LPHEAPENTRY32, DWORD, DWORD);
The log record for this declaration goes as following. DWORD is found
inappropriate on Win64, replace it with ULONG_PTR [as per latest
Microsoft SDK], which covers both Win32 and Win64. ULONG_PTR is found
undefined in elder Microsoft headers, replace it with SIZE_T, which
still covers both Win32 and Win64. So what you're saying is that SIZE_T
is undefined in even elder or bastardized headers... Well, one can
replace it with ANSI size_t, which still covers both Win32 and Win64...
I suppose the problem resides in the SIZE_T declaration: this typedef (that
is equivalent to a ULONG_PTR typedef) is NOT defined in the header
files of the Win32 APIs supplied with BCB4. I can substitute the first
typedef with the second but I don't know if this is goof or not.
As long as you target Win32 you can safely switch back to DWORD, but do
check size_t. A.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager [EMAIL PROTECTED]