There's no VS2006 and given the paths shown, I take it you mean the old Microsoft VC6 (Visual C/C++ 6) compiler, right?
Anyway, this is probably due to either 'extern' in the declaration in the DECLARE_... macro, immediately followed by the instantiation in the IMPLEMENT_... macro, OR it is due to a possibly missing const somewhere. (For some unfathomable reason, I always forget whether that error message is 'extern' or 'const' related. :-S ) Anyway, the code there (ec/ec_asn1.c) should read like this: DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS); DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS); IMPLEMENT_ASN1_FUNCTIONS_const(ECPKPARAMETERS); and then in asn1/asn1.h you should find this chunk: #ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION /* ASN1_ITEM pointer exported type */ typedef const ASN1_ITEM ASN1_ITEM_EXP; /* Macro to obtain ASN1_ITEM pointer from exported type */ #define ASN1_ITEM_ptr(iptr) (iptr) /* Macro to include ASN1_ITEM pointer from base type */ #define ASN1_ITEM_ref(iptr) (&(iptr##_it)) #define ASN1_ITEM_rptr(ref) (&(ref##_it)) #define DECLARE_ASN1_ITEM(name) \ extern const ASN1_ITEM name##_it; #else /* Platforms that can't easily handle shared global variables are declared * as functions returning ASN1_ITEM pointers. */ /* ASN1_ITEM pointer exported type */ typedef const ASN1_ITEM * ASN1_ITEM_EXP(void); /* Macro to obtain ASN1_ITEM pointer from exported type */ #define ASN1_ITEM_ptr(iptr) (iptr()) /* Macro to include ASN1_ITEM pointer from base type */ #define ASN1_ITEM_ref(iptr) (iptr##_it) #define ASN1_ITEM_rptr(ref) (ref##_it()) #define DECLARE_ASN1_ITEM(name) \ const ASN1_ITEM * name##_it(void) #endif Make sure all the 'const' and 'extern' bits in there match up. Side Note: I compile on Win32 with OPENSSL_EXPORT_VAR_AS_FUNCTION *defined*. This is not really necessary anymore, but we had to have that bugger turned on back in the day when I still delivered using VC6 - something flaky to do with the linker IIRC. Anyway, make sure those two chunks of code match up with your copy; let me know if the problem persists. Ger On Tue, Nov 25, 2008 at 5:11 PM, chenshengda via RT <[EMAIL PROTECTED]> wrote: > hi, > i do these command using vs6++ and get an error. >>F:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat >>cd C:\devdiv\openssl-0.9.8i >>ms\do_ms >>nmake -f ms\ntdll.mak > > > cl /Fotmp32dll\ec_asn1.obj -Iinc32 -Itmp32dll /MD /Ox /O2 /Ob2 /W3 > /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_ME > _ENDIAN -DDSO_WIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE > -DOPENSSL_USE_APPLINK -I. /Fdout32dll -DOPENSSL_NO_CAMELLIA -DOPENSSL > ED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_TLSEXT -DOPENSSL_NO_CMS > -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -D > L -DOPENSSL_BUILD_SHLIBCRYPTO -c .\crypto\ec\ec_asn1.c > ec_asn1.c > .\crypto\ec\ec_asn1.c(261) : error C2370: 'ECPKPARAMETERS_it' : redefinition; > different storage class > .\crypto\ec\ec_asn1.c(259) : see declaration of 'ECPKPARAMETERS_it' > .\crypto\ec\ec_asn1.c(262) : error C2370: 'ECPKPARAMETERS_it' : redefinition; > different storage class > .\crypto\ec\ec_asn1.c(259) : see declaration of 'ECPKPARAMETERS_it' > .\crypto\ec\ec_asn1.c(272) : error C2370: 'EC_PRIVATEKEY_it' : redefinition; > different storage class > .\crypto\ec\ec_asn1.c(270) : see declaration of 'EC_PRIVATEKEY_it' > .\crypto\ec\ec_asn1.c(273) : error C2370: 'EC_PRIVATEKEY_it' : redefinition; > different storage class > .\crypto\ec\ec_asn1.c(270) : see declaration of 'EC_PRIVATEKEY_it' > NMAKE : fatal error U1077: 'cl' : return code '0x2' > Stop. > > > and i find the subject of the debug. > but it still happend the error. > how can i resolve.... > > gamma. > 2008-11-25 > > > > chenshengda > > > hi, > i do these command using vs6++ and get an error. >>F:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat >>cd C:\devdiv\openssl-0.9.8i >>ms\do_ms >>nmake -f ms\ntdll.mak > > cl /Fotmp32dll\ec_asn1.obj -Iinc32 -Itmp32dll /MD /Ox /O2 /Ob2 /W3 > /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_ME > _ENDIAN -DDSO_WIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE > -DOPENSSL_USE_APPLINK -I. /Fdout32dll -DOPENSSL_NO_CAMELLIA -DOPENSSL > ED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_TLSEXT -DOPENSSL_NO_CMS > -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -D > L -DOPENSSL_BUILD_SHLIBCRYPTO -c .\crypto\ec\ec_asn1.c > ec_asn1.c > .\crypto\ec\ec_asn1.c(261) : error C2370: 'ECPKPARAMETERS_it' : redefinition; > different storage class > .\crypto\ec\ec_asn1.c(259) : see declaration of 'ECPKPARAMETERS_it' > .\crypto\ec\ec_asn1.c(262) : error C2370: 'ECPKPARAMETERS_it' : redefinition; > different storage class > .\crypto\ec\ec_asn1.c(259) : see declaration of 'ECPKPARAMETERS_it' > .\crypto\ec\ec_asn1.c(272) : error C2370: 'EC_PRIVATEKEY_it' : redefinition; > different storage class > .\crypto\ec\ec_asn1.c(270) : see declaration of 'EC_PRIVATEKEY_it' > .\crypto\ec\ec_asn1.c(273) : error C2370: 'EC_PRIVATEKEY_it' : redefinition; > different storage class > .\crypto\ec\ec_asn1.c(270) : see declaration of 'EC_PRIVATEKEY_it' > NMAKE : fatal error U1077: 'cl' : return code '0x2' > Stop. > > > and i find the subject of the debug. > but it still happend the error. > how can i resolve.... > > gamma. > 2008-11-25 > ________________________________ > chenshengda > -- Met vriendelijke groeten / Best regards, Ger Hobbelt -------------------------------------------------- web: http://www.hobbelt.com/ http://www.hebbut.net/ mail: [EMAIL PROTECTED] mobile: +31-6-11 120 978 -------------------------------------------------- ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]