2 c c++ c99 visual-studio
我想在VS2008下编译beecrypt库.但是以下几种结构会产生语法错误(C2059语法错误:'.'):
const hashFunction md5 = {
.name = "MD5",
.paramsize = sizeof(md5Param),
.blocksize = 64,
.digestsize = 16,
.reset = (hashFunctionReset) md5Reset,
.update = (hashFunctionUpdate) md5Update,
.digest = (hashFunctionDigest) md5Digest
};
Run Code Online (Sandbox Code Playgroud)
VC++不接受开头的点.如果我评论上面的内容,我稍后会收到链接错误(LNK2001未解析的符号_md5) - 所以我想它必须取消注释.
这个结构是什么?我需要什么?我如何告诉VS2008编译它?
这种类型的struct初始化是C99(ISO/IEC 9899:1999)的一个特征.在最新标准之前,它不是有效的C++或C.
Visual Studio 2008仅支持C90(又名C89),因此不会编译.
编辑看起来BeeCrypt最近改为需要一个有效排除Visual Studio的C99编译器.您可以选择使用旧版本的BeeCrypt.
| 归档时间: |
|
| 查看次数: |
243 次 |
| 最近记录: |