1. ホーム
  2. c

[解決済み] error: 組み込み関数 'tolower' [-Werror] の型が競合しています。

2022-02-02 05:27:53

質問

を使用しない小さなRTOSを持っています。 glibc で、自作の関数(例. tolower )をstring.cで作成します。

コンパイル時にエラーが発生します。

common/string.c:11:6: error: conflicting types for built-in function ‘tolower’ [-Werror]

これを解決するCFLAGSはないのでしょうか?

更新の答え: -fno-builtin を使用します。

解決方法は?

tolower はCライブラリの関数で、その識別子は、宣言されているヘッダをインクルードしなくても、外部リンクで識別子として使用できるように予約されている識別子です。

を使えば、警告を消すことができます。 -fno-builtin を別の名前にするのがベストです。 tolower .

(C99, 7.1.3p1) "以下のサブクラス(将来のライブラリ方向を含む)のいずれかにある外部リンクを持つすべての識別子は、外部リンクを持つ識別子として使用するために常に予約されています。