“错误:从源代码编译时,此语句可能会失败”

问题描述 投票:0回答:1

我正在尝试从源代码编译OpenOCD 0.10,但是在运行make时会得到

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./src -I./src -I./src/helper -DPKGDATADIR=\"/usr/local/share/openocd\" -DBINDIR=\"/usr/local/bin\" -I./jimtcl -I./jimtcl -Wall -Wstrict-prototypes -Wformat-security -Wshadow -Wextra -Wno-unused-parameter -Wbad-function-cast -Wcast-align -Wredundant-decls -Werror -g -O2 -MT src/svf/svf.lo -MD -MP -MF src/svf/.deps/svf.Tpo -c src/svf/svf.c -o src/svf/svf.o
src/svf/svf.c: In function ‘svf_read_command_from_file’:
src/svf/svf.c:663:7: error: this statement may fall through [-Werror=implicit-fallthrough=]
  663 |     i = -1;
      |     ~~^~~~
src/svf/svf.c:664:4: note: here
  664 |    case '\r':
      |    ^~~~
src/svf/svf.c:667:8: error: this statement may fall through [-Werror=implicit-fallthrough=]
  667 |     if (!cmd_pos)
      |        ^
src/svf/svf.c:669:4: note: here
  669 |    default:
      |    ^~~~~~~

类似类似的问题,例如“ Error: this statement may fall through [-Werror=implicit-fallthrough=]”和“ Why is GCC warning me about a fallthrough even when I use [[fallthrough]]?”作为修改源代码的解决方案。在这种情况下不可行,我该怎么办?有没有办法忽略此错误?

c gcc makefile openocd
1个回答
0
投票

您可以修复代码,也可以使警告级别更宽松(例如-Wno-implicit-fallthrough或删除-Werror),但是这两种方法都需要在某处修改一些文本,即使这只是在构建配置文件中也是如此。

或者,您可以升级到OpenOCD which already has a fix for this的较新版本。

© www.soinside.com 2019 - 2024. All rights reserved.