变量中的点? VC9 在构建 beecrypt 时出现解析错误
Posted
技术标签:
【中文标题】变量中的点? VC9 在构建 beecrypt 时出现解析错误【英文标题】:Dots in Variables? VC9 gives parsing errors when building beecrypt 【发布时间】:2009-07-29 16:41:59 【问题描述】:我想在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 unresolved symbol _md5) - 所以我想它必须取消评论。
这是什么结构?我需要它做什么?如何告诉VS2008编译它?
【问题讨论】:
【参考方案1】:这种struct
初始化是C99 (ISO/IEC 9899:1999) 的一个特性。它不是最新标准之前的有效 C++ 或 C。
Visual Studio 2008 仅支持 C90(又名 C89),因此无法编译。
编辑 看起来 BeeCrypt 最近更改为需要 C99 编译器,这有效地排除了 Visual Studio。您的另一个选择是使用旧版本的 BeeCrypt。
【讨论】:
以上是关于变量中的点? VC9 在构建 beecrypt 时出现解析错误的主要内容,如果未能解决你的问题,请参考以下文章