Am 18.11.2010 23:56, schrieb Andy Polyakov via RT:
While building the openssl-1.0.0b for windows (using the mingw
compiler) I get the following build error :

making all in crypto/dso...
make[2]: Entering directory `/cygdrive/f/openssl-1.0.0a/crypto/dso'
gcc -I.. -I../.. -I../asn1 -I../evp -I../../include  -DOPENSSL_THREADS -D_MT -DD
SO_WIN32 -mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -
march=i486 -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_AS
M_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DW
HIRLPOOL_ASM   -c -o dso_win32.o dso_win32.c
dso_win32.c: In function `win32_load':
dso_win32.c:173: error: `HINSTANCE' undeclared (first use in this function)
dso_win32.c:173: error: (Each undeclared identifier is reported only once
dso_win32.c:173: error: for each function it appears in.)
dso_win32.c:173: error: parse error before "h"

The compilation relies on _WIN32 macro being pre-defined by compiler.
This applies to *all* compilers targeting Windows, including mingw. So
the key question is why doesn't your compiler define it? Examine 'gcc
-dumpspecs' output and see if _WIN32 is defined for -mno-cygwin. If it
doesn't, then I'd say it's a bug... A.
it doesnt complain with later versions, so this bug seems fixed with newer headers ...

also it seems that OP uses a cross-compiler on Linux, and these are often very weired; f.e. with my other prob with wincrypt.h my mingw32-cross on OpenSuSE 10.3 uses the ming64 header, thus my proposed additional check goes fine, but linking breaks then since exports missing from lib ...


Gün.


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to