Linux

我如何在 linux 上安裝 atinout

  • January 9, 2022

我是 linux 新手,遇到了這個問題。我正在嘗試執行 USSD 命令,建議使用atinout,但是從他們的頁面檢查,我似乎無法找到如何安裝它。我從sourceforge下載了 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

有人可以指導我嗎?謝謝。

我在 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 <hlovdal@users.sourceforge.net>
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.

引用自:https://unix.stackexchange.com/questions/685635