编译旧版本的Crypto ++,md5.h和模板的问题

时间:2015-03-12 01:59:14

标签: c++ templates inheritance crypto++

我正在努力在Debian stable上使用gcc 4.7构建一个遗留软件(由于某些原因目前还需要libstdc ++ 5 3.2),目前g ++挂在crypto ++的md5.h上

我的c ++技能很生疏,现在我已经盯着这几天了。有没有人对如何解决这个问题有任何想法?

我正在使用的cryto ++版本的完整源代码: http://www.filedropper.com/cryptolegacy

错误:

compiling md5.cpp (g++)
compiling md5.cpp (g++)
In file included from md5.cpp:5:0:
md5.h:10:32: error: expected template-name before '<' token
md5.h:10:32: error: expected '{' before '<' token
md5.h:10:32: error: expected unqualified-id before '<' token
md5.cpp:109:1: error: expected '}' at end of input

md5.h

#ifndef CRYPTOPP_MD5_H
#define CRYPTOPP_MD5_H

#include "iterhash.h"

NAMESPACE_BEGIN(CryptoPP)

/// <a href="http://www.weidai.com/scan-mirror/md.html#MD5">MD5</a>
/** 128 Bit Hash */
class MD5 : public IteratedHash<word32, false, 64>
{
public:
     enum {DIGESTSIZE = 16};
     MD5() : IteratedHash<word32, false, 64>(DIGESTSIZE) {Init();}
     static void Transform(word32 *digest, const word32 *data);

protected:
    void Init();
    void vTransform(const word32 *data) {Transform(digest, data);}
};

NAMESPACE_END

#endif

0 个答案:

没有答案