> > cl ... -c .\crypto\asn1\n_pkey.c > > .\crypto\asn1\n_pkey.c(96) : error C2370: 'NETSCAPE_ENCRYPTED_PKEY_it' : > > redefinition; different storage class > > .\crypto\asn1\n_pkey.c(93) : see declaration of > > 'NETSCAPE_ENCRYPTED_PKEY_it' > > Strange, I checked VC++ 6.0 SP3 and had no problems. What version of > VC++ are you using?
First of all I want to make it clear that I do *not* have environment for VC-WIN32 build. All I say here is based on experinence not related to OpenSSL. How does one tell VC++SP level? I couldn't find a way. It's probably more appropriate to ask for version number returned by cl. Mine says 12.00.8804... In either case I believe it's OPENSSL_EXTERN which is "responsible" for this. On Windows OPENSLL_EXTERN is[?]/can be defined as "extern _declspec(dllimport)" and the problem must be that n_pkey.c refers to same variable as both local and OPENSSL_EXTERN. The catch is that _decspec(dllimport) is [and has to be] treated differently. Most notably "_declspec(dllimport) int i; int foo(){return i;}" effectively compiles as "int *_i; int foo() {return *_i;}." As you can see generated machine code has to be substantially different from one generated for plain "int i; int foo(){return i;}" and this is what the compiler must be complaining about. At the very least if I try to compile "int i;_declspec(dllimport) int i;" I get the very same error code, C2370. A. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]