Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Message from discussion Patch for compile on VS 2002 (VC 7.0) ?
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
AxCrypt  
View profile  
 More options Sep 24 2004, 6:45 am
From: "AxCrypt" <axcr...@axondata.se>
Date: Fri, 24 Sep 2004 06:45:39 -0400 (EDT)
Local: Fri, Sep 24 2004 6:45 am
Subject: Patch for compile on VS 2002 (VC 7.0) ?

Hello,

As other posters have noted, Crypto++ 5.2.1 does not compile with Visual
Studio 2002 (VC 7.0). There appears to be two (at least) separate problems.

1 - C:\Program\Microsoft Visual Studio .NET\Vc7\include\xutility(98): error
C2825: '_Iter::iterator_category': cannot form a qualified name

which comes from the following in zdeflate.cpp:

#if defined(_MSC_VER) && !defined(__MWERKS__) && (_MSC_VER < 1300)

// VC60 workaround: built-in reverse_iterator has two template parameters,
Dinkumware only has one

typedef reverse_bidirectional_iterator<unsigned int *, unsigned int> RevIt;

#else

typedef reverse_iterator<unsigned int *> RevIt;

#endif

If compiled if #if 1 || ..., to emulate VC60 - that part compiles. (There's
a similar ref in ida.cpp, fixable in the same way). This could probably be
fixed by a more precise test for _MSC_VER to differentiate between VC 7.0
and VC 7.1 I guess. Anybody know what _MSC_VER is for 7.1? (Run CL /? at the
command prompt after running VCVARS.BAT and check the version...)

2 - c:\tmp\cryptopp521\simple.h(179) : fatal error C1001: INTERNAL COMPILER
ERROR
        (compiler file 'msc1.cpp', line 2844)
         Please choose the Technical Support command on the Visual C++
         Help menu, or open the Technical Support help file for more
information

The second one is harder to fix in an easy manner it appears. It should be
noted that it's only for the DLL part, so it appears to have to do with the
compiler having problems with all those __declspec(novtable) and
__declspec(dllexport) that the templates will generate. There may, or may
not, be a fix available for VC 7.0, but it's not easily available. Can this
be fixed in a way to be compatible with both versions? It would appear that
the use of CRYPTOPP_DLL and CRYPTOPP_NOVTABLE is rather promiscuous...

It's possible to use it appears, if not compiled for DLL usage with the two
patches above in zdeflate.cpp and ida.cpp, at leat it compiles...
Unfortunately I've tried 5.1, which compiles - but the first thing happening
was I got bitten by a bug that was fixed in 5.2.1...

Regards,

Svante


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google