如何在 Linux 上安装 atinout

如何在 Linux 上安装 atinout

我是linux新手,也遇到过这个问题。我正在尝试运行 USSD 命令,建议我使用atinout,但是从他们的页面检查,我似乎找不到如何安装它。我从以下位置下载了 zip 文件来源锻造, 这是atinout-0.9.1

我尝试运行make虽然我不确定它是否有效)并得到这个输出:

gcc -o atinout -W -Wall -Wextra -Werror -DVERSION=\"0.9.1\" -g  atinout.c
atinout.c: In function ‘is_final_result’:
atinout.c:141:6: error: this statement may fall through [-Werror=implicit-fallthrough=]
  141 |   if (strcmp(&response[1], "K\r\n") == 0) {
      |      ^
atinout.c:145:2: note: here
  145 |  default:
      |  ^~~~~~~
cc1: all warnings being treated as errors
make: *** [Makefile:14: atinout] Error 1

有人可以指导我吗?谢谢。

答案1

我在 GCC 9.3.0 中遇到同样的错误。一种可能的修复方法是-Werror从 Makefile 中的这一行中删除 :

CFLAGS = -W -Wall -Wextra -Werror \

所以它看起来像这样:

CFLAGS = -W -Wall -Wextra \

有可能在开发 atinout 时,GCC 还没有隐式失败警告(它仅在 2016 年的提交 81fea426da8 中实现),或者使用了另一个编译器来编译它。

另一个修复方法是尝试不同的编译器,例如,我在 clang 10.0.1 中没有收到任何警告或错误:

$ make CC=clang
clang -o atinout -W -Wall -Wextra -Werror -DVERSION=\"0.9.1\" -g  atinout.c

在这两种情况下,您最终都会在当前工作目录中得到atinout:

$ ./atinout --version
atinout version 0.9.1
Copyright (C) 2013 Håkon Løvdal <[email protected]>
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it under
certain conditions; see http://www.gnu.org/licenses/gpl.html for details.

相关内容