您向我们展示的示例代码中的额外分号:
if(...)
{
...
};
完全合法;这是一个空语句。
您得到的错误实际上是关于extern "C"
. 以下内容出现在zziplib
库中的三个源文件中:
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
};
#endif
这实际上是一个语法错误。一些编译器可能不会抱怨它,或者可能只是发出警告,但这g++ -pedantic-errors
是一个致命错误。
我向 的维护者报告了这个问题zziplib
,我刚刚得到了回复:
Thanks for pointing to the problem, fixed in r524 now. I will
probably roll a public release next month (still need to check
the win32 version).
best regards, Guido Draheim
ChangeLog:
2012-09-15 guidod <guidod@gmx.de>
* zzip.h, plugin.h: "};" at end of extern-C produces build errors with
the default --pedantic-errors on newer CMake. Thanks to Keith Thompson
recognizing it - see http://stackoverflow.com/questions/12384280/