gcc 4.8.5 (也尝试了7.3.1)操作系统Linux (Centos 7)
在遵循github页面的构建说明时,我得到了以下消息。
/home/dev/CppSupportingCode/CppCommon/modules/CppBenchmark/modules/HdrHistogram/src/hdr_histogram.c:344:5:错误: ISO C90禁止混合声明和代码双重日志= -Werror=pedantic ((/home/dev/CppSupportingCode/CppCommon/modules/CppBenchmark/modules/HdrHistogram/src/hdr_histogram.c:344:5:)lowest_discernible_value)/-Werror=pedantic(2);
发布于 2020-11-19 02:54:56
你是根据C90标准建造的,有30年的历史了,尽管在1999年之前没有被取代(感谢有翼的小行星)。
你要么实际使用一个老的编译器,要么使用一个新的编译器,并且你已经这样配置了它。改变你的建筑。
由于项目本身被设置为告诉cmake (或通过cmake编译器)至少要使用C99 (再次感谢Asteroids),这有点奇怪。不知何故,您似乎可以绕过这种配置。也许您不使用cmake配置就可以构建?也许可以在你喜欢的IDE中使用自创建的项目?
其背景是,在古代,不允许将声明/定义变量(如double unit_magnitude = ... )与log((double)lowest_discernible_value) / log(2);等代码混合在一起。较新的C标准允许这样做,并且有一种相应的构建方法可以容忍代码行。
而不改变构建代码的任何字符。只有命令行开关,它可能在makefile或您的项目配置中。
https://stackoverflow.com/questions/64899440
复制相似问题