变量中的点? VC9在构建beecrypt时会出现解析错误

时间:2009-07-29 16:41:59

标签: c++ c visual-studio c99

我想在VS2008下编译beecrypt库。但是以下几种结构会产生语法错误(C2059语法错误:'。'):

const hashFunction md5 = {
.name = "MD5",
.paramsize = sizeof(md5Param),
.blocksize = 64,
.digestsize = 16,
.reset = (hashFunctionReset) md5Reset,
.update = (hashFunctionUpdate) md5Update,
.digest = (hashFunctionDigest) md5Digest
};

VC ++不接受开头的点。如果我对上述内容发表评论,我稍后会收到链接错误(LNK2001未解析的符号_md5) - 所以我想它必须取消注释。

这个结构是什么?我需要什么?我如何告诉VS2008编译它?

1 个答案:

答案 0 :(得分:6)

这种struct初始化是C99(ISO / IEC 9899:1999)的一个特征。在最新标准之前,它不是有效的C ++或C.

Visual Studio 2008仅支持C90(又名C89),因此不会编译。

编辑看起来BeeCrypt最近更改为需要一个C99编译器,它有效地排除了Visual Studio。您可以选择使用较旧版本的BeeCrypt。