变量中的点? 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 时出现解析错误的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUi - 为 MapKit 构建一个 Spinner

由于 VC9 编译器符号名称不匹配而导致无法解析的外部符号

vc9 和 gcc 之间的不同析构函数行为

旋转形状时如何计算形状中的点

phpStudy启动失败时的解决方法 提示缺vc9运行库

phpStudy启动失败时的解决方法 提示缺vc9运行库