此文首发于我的个人博客:报错解决 error this statement may fall through [-Werror=implicit-fallthrough=] — zhang0peter的个人博客
下午在编译 grpc时报错如下:
utilities/blob_db/blob_log_reader.cc:74:18: error: this statement may fall through [-Werror=implicit-fallthrough=] next_byte_ += kb_size; ~~~~~~~~~~~^~~~~~~~~~ utilities/blob_db/blob_log_reader.cc:76:5: note: here case kReadHeaderKey: ^~~~ utilities/blob_db/blob_log_reader.cc:94:18: error: this statement may fall through [-Werror=implicit-fallthrough=] next_byte_ += record->GetBlobSize(); ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ utilities/blob_db/blob_log_reader.cc:96:5: note: here case kReadHeaderKeyBlob: ^~~~ cc1plus: all warnings being treated as errors Makefile:1813: recipe for target 'utilities/blob_db/blob_log_reader.o' failed make: *** [utilities/blob_db/blob_log_reader.o] Error 1 make: *** Waiting for unfinished jobs.... CMake Warning at CMakeLists.txt:122 (message): gRPC_INSTALL will be forced to FALSE because gRPC_ZLIB_PROVIDER is "module" CMake Error at third_party/boringssl/CMakeLists.txt:30 (message): Could not find Go -- Configuring incomplete, errors occurred! See also "/home/zhang/paxosstore/certain/third/grpc/CMakeFiles/CMakeOutput.log". See also "/home/zhang/paxosstore/certain/third/grpc/CMakeFiles/CMakeError.log". [MAKE] Generating cache.mk [AR] Creating /home/zhang/paxosstore/certain/third/grpc/libs/opt/libgpr.a [C] Compiling third_party/boringssl/crypto/bio/fd.c [C] Compiling third_party/boringssl/crypto/bio/file.c [C] Compiling third_party/boringssl/crypto/bn/add.c [C] Compiling third_party/boringssl/crypto/bn/asm/x86_64-gcc.c third_party/boringssl/crypto/bio/file.c: In function ‘file_ctrl’: third_party/boringssl/crypto/bio/file.c:186:11: error: this statement may fall through [-Werror=implicit-fallthrough=] num = 0; ~~~~^~~ third_party/boringssl/crypto/bio/file.c:187:5: note: here case BIO_C_FILE_SEEK: ^~~~ third_party/boringssl/crypto/bio/fd.c: In function ‘fd_ctrl’: third_party/boringssl/crypto/bio/fd.c:192:11: error: this statement may fall through [-Werror=implicit-fallthrough=] num = 0; ~~~~^~~ third_party/boringssl/crypto/bio/fd.c:193:5: note: here case BIO_C_FILE_SEEK:解决方法如下:
make CFLAGS='-Wno-implicit-fallthrough'参考:[NEW] gcc 7 and -Werror=implicit-fallthrough · Issue #13854 · grpc/grpc
