我想在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进行编译?
最佳答案
这种struct
初始化类型是C99(ISO / IEC 9899:1999)的功能。它不是最新标准之前的有效C++或C。
Visual Studio 2008仅支持C90(又名C89),因此不会进行编译。
编辑似乎BeeCrypt最近更改了,需要C99编译器来有效地排除Visual Studio。您的另一个选择是使用旧版本的BeeCrypt。
关于c++ - 点中的变量? VC9生成beecrypt时出现解析错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1201557/