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 [email protected]
Automated List Manager [EMAIL PROTECTED]