that code is exactly as I downloaded it from 5.5.1.

I also am running into another error.  I attempt to run a batch build
of cryptlib from the cryptest project.  every time I get enough errors
that I don't have any hope of getting cryptlib.lib.  Is there a
special trick to creating this library?

On Jun 2, 10:10 pm, "Wei Dai" <[EMAIL PROTECTED]> wrote:
> Where did this error come from? The class name of simple_ptr in my copy of
> smartptr.h is spelled correctly.
>
>
>
> ----- Original Message -----
> From: "EricD" <[EMAIL PROTECTED]>
> To: "Crypto++ Users" <[EMAIL PROTECTED]>
> Sent: Friday, June 01, 2007 1:59 PM
> Subject: Re: symmetric cipher - visual C++ error
>
> > I caught it about 30 min. after I posted that...thanks to that error I
> > now know C++ a lot more than I want to
>
> > On Jun 1, 4:46 pm, "Jeffrey Walton" <[EMAIL PROTECTED]> wrote:
> >> Hi Shane,
>
> >> Good catch. I wasted about 4 hours on a fat fingered typo like that -
> >> trying to figure out what I was doing wrong with the library...
>
> >> Jeff
>
> >> On 6/1/07, Shane Kirk <[EMAIL PROTECTED]> wrote:
>
> >> > The template class name is "simple_prt", but the constructor is
> >> > "simple_ptr". I could see how this would cause your error. Unless of
> >> > course it was simply a typo in your email.
>
> >> > -Shane
>
> >> > --- [EMAIL PROTECTED] wrote:
>
> >> > From: EricD <[EMAIL PROTECTED]>
> >> > To: Crypto++ Users <[EMAIL PROTECTED]>
> >> > Subject: symmetric cipher - visual C++ error
> >> > Date: Fri, 01 Jun 2007 12:25:22 -0700
>
> >> > I am trying to run a symmetric cipher with visual C++ express 2005,
> >> > and keep getting an error linked to smartptr.h of the crypto++
> >> > library.  I encounter the errors C2590 ('simple_ptr' : only a
> >> > constructor can have a base/member initializer list) and C2523
> >> > ('CryptoPP::simple_prt<T>::~simple_ptr' : destructor tag mismatch).
> >> > They reference this code:
>
> >> > template <class T> class simple_prt
> >> > {
> >> > public:
> >> >      simple_ptr() : m_p(NULL) {}  //error C2590
> >> >      ~simple_ptr() {delete m_p;}  //error C2523
> >> >      T *m_p;
> >> > };
>
> >> > I am pretty sure C2523 will dissapear if C2590 is resolved, but the
> >> > errors are within the crypto library...and I am at a loss.
>
> >> > I have run the code with and without sp1, on windows vista and 2000,
> >> > and have tried the vista patch for visual C++ as well.
>
> >> > If it helps, below is the full program which shows what my goal is for
> >> > this code.
>
> >> > // PreCompiled Header
> >> > #include "StdAfx.h"
>
> >> > // Includes all required Crypto++
> >> > // Block Cipher Headers
> >> > #include "SymmetricCipher.h"
>
> >> > // C Runtime Includes
> >> > #include <iostream>
> >> > #include <iomanip>
>
> >> > // Crypto++ Includes
> >> > // #include "cryptlib.h"
> >> > #include "crypto++/modes.h" // xxx_Mode< >
> >> > #include "crypto++/filters.h" // StringSource and
> >> > // StreamTransformation
>
> >> > // Cipher Modes
> >> > //
> >> > // #define CIPHER_MODE CBC_CTS_Mode
> >> > #define CIPHER_MODE CBC_Mode
> >> > // #define CIPHER_MODE CFB_FIPS_Mode
> >> > // #define CIPHER_MODE CFB_Mode
> >> > // #define CIPHER_MODE CTR_Mode
> >> > // #define CIPHER_MODE ECB_Mode
> >> > // #define CIPHER_MODE OFB_Mode
>
> >> > // Ciphers
> >> > //
> >> > #define CIPHER AES
> >> > // #define CIPHER Blowfish
> >> > // #define CIPHER BTEA
> >> > // #define CIPHER Camellia
> >> > // #define CIPHER CAST128
> >> > // #define CIPHER CAST256
> >> > // #define CIPHER DES
> >> > // #define CIPHER DES_EDE2
> >> > // #define CIPHER DES_EDE3
> >> > // #define CIPHER DES_XEX3
> >> > // #define CIPHER GOST
> >> > // #define CIPHER IDEA
> >> > // #define CIPHER MARS
> >> > // #define CIPHER RC2
> >> > // #define CIPHER RC5
> >> > // #define CIPHER RC6
> >> > // #define CIPHER Rijndael
> >> > // #define CIPHER SAFER_K
> >> > // #define CIPHER SAFER_SK
> >> > // #define CIPHER Serpent
> >> > // #define CIPHER SHACAL2
> >> > // #define CIPHER SHARK
> >> > // #define CIPHER SKIPJACK
> >> > // #define CIPHER ThreeWay
> >> > // #define CIPHER Twofish
> >> > // #define CIPHER XTEA
>
> >> > int main(int argc, char* argv[]) {
>
> >> >   try
> >> >   {
> >> >      // Key and IV setup
> >> >      byte key[ CryptoPP::CIPHER::DEFAULT_KEYLENGTH ],
> >> >            iv[ CryptoPP::CIPHER::BLOCKSIZE ];
>
> >> >      ::memset( key, 0x01, CryptoPP::CIPHER::DEFAULT_KEYLENGTH );
> >> >      ::memset( iv, 0x01, CryptoPP::CIPHER::BLOCKSIZE );
>
> >> >      // Message M
> >> >      std::string PlainText = "Yoda said, Do or Do Not. There is no
> >> > try.";
>
> >> >      // Cipher Text Sink
> >> >      std::string CipherText;
>
> >> >      // Encryptor
> >> >      CryptoPP::CIPHER_MODE<CryptoPP::CIPHER>::Encryption
> >> >         Encryptor( key, sizeof(key), iv );
>
> >> >      // Encryption
> >> >      CryptoPP::StringSource( PlainText, true,
> >> >         new CryptoPP::StreamTransformationFilter( Encryptor,
> >> >            new CryptoPP::StringSink( CipherText )
> >> >         ) // StreamTransformationFilter
> >> >      ); // StringSource
>
> >> >      ///////////////////////////////////////
> >> >      // DMZ //
> >> >      ///////////////////////////////////////
>
> >> >      // Recovered Text Sink
> >> >      std::string RecoveredText;
>
> >> >      // Decryptor
> >> >      CryptoPP::CIPHER_MODE<CryptoPP::CIPHER>::Decryption
> >> >         Decryptor( key, sizeof(key), iv );
>
> >> >      // Decryption
> >> >      CryptoPP::StringSource( CipherText, true,
> >> >         new CryptoPP::StreamTransformationFilter( Decryptor,
> >> >            new CryptoPP::StringSink( RecoveredText )
> >> >         ) // StreamTransformationFilter
> >> >      ); // StringSource
>
> >> >      //////////////////////////////////////////
> >> >      // Output //
> >> >      //////////////////////////////////////////
>
> >> >      std::cout << "Algorithm:" << std::endl;
> >> >      std::cout << " " << Encryptor.AlgorithmName() << std::endl;
> >> >      std::cout << "Minimum Key Size:" << std::endl;
> >> >      std::cout << " " << Encryptor.MinKeyLength() << " bytes" <<
> >> > std::endl;
> >> >      std::cout << std::endl;
>
> >> >      std::cout << "Plain Text (" << PlainText.length() << " bytes)"
> >> > << std::endl;
> >> >      std::cout << " '" << PlainText << "'" << std::endl;
> >> >      std::cout << std::endl;
>
> >> >      std::cout << "Cipher Text Size:" << std::endl;
> >> >      std::cout << " " << CipherText.size() << " bytes" << std::endl;
> >> >      std::cout << std::endl;
>
> >> >      std::cout << "Recovered Text:" << std::endl;
> >> >      std::cout << " '" << RecoveredText << "'" << std::endl;
> >> >      std::cout << std::endl;
> >> >   }
> >> >   catch( CryptoPP::Exception& e)
> >> >   {
> >> >      std::cerr << e.what() << std::endl;
> >> >   }
>
> >> >   catch(...)
> >> >   {
> >> >      std::cerr << "Unknown Error" << std::endl;
> >> >   }
>
> >> >   return 0;
> >> > }- Hide quoted text -
>
> >> - Show quoted text -- Hide quoted text -
>
> - Show quoted text -


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [EMAIL PROTECTED]
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---

Reply via email to