Arch Linuxでg ++とclangを使用してプログラムをコンパイルしようとすると、非常に不明なエラーが発生しました。エラーを生成する最小プログラムは次のとおりです。
#include <locale>
int main()
{
return 0;
}
含めないとlocale
エラーが消えます。 (私はもともとiomanip
これを含むプログラムをコンパイルしたときにこれを見つけましたlocale
。)
エラーメッセージをファイルに保存します。その音そしてg++;これは数メガバイトのサイズなので、ここにコピーしません。 「NULL文字を無視する」という警告がたくさんあり、プログラムは/usr/bin/locale
一部のソースファイルが有効なUTF-8ではないという警告を受け取ります。
私のロケールはに設定されていますen_US.UTF-8
。次の出力は次のとおりですlocale
。
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
LC_ALL
ロケールをリセットするためにbinutilsとcoreutilsを再インストールしてみました。