Arch Linux C ++標準ライブラリヘッダーが無効なUTF-8です。

Arch Linux C ++標準ライブラリヘッダーが無効なUTF-8です。

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を再インストールしてみました。

ベストアンサー1

おすすめ記事