3

64 ビット Linux(2.6.39-gentoo-r3)、GCC バージョン 4.6.3 でプロジェクトをコンパイルしましたが、コンパイルすると、警告に読み取り不能な文字が含まれています。以下のように:

warning: field precision specifier ?.*?.expects argument of type ?.nt?. but argument 6 has type ?.ong int?.[-Wformat]
warning: format ?.u?.expects argument of type ?.nsigned int?. but argument 7 has type ?.ize_t?.[-Wformat]
warning: ignoring return value of ?.ystem?. declared with attribute warn_unused_result [-Wunused-result]

ぐちゃぐちゃな部分は推測できますが、見栄えが悪いです。それで、誰かが同じ問題に遭遇したり、それを解決する方法を知っていますか?

4

2 に答える 2

1

通常、gccはその出力にASCIIまたはUTF-8エンコーディングを使用します。端末をチェックして、実際に構成されているエンコーディングを確認してください。

簡単な回避策として、この方法でgccコマンドを実行して、有効な文字が表示されるかどうかを確認してください(ASCIIここで使用されます)。

LC_ALL=C LANG=C gcc ...

それで問題が解決する場合は、ロケールが正しく構成されていないか、少なくとも希望するロケールではありません。

システムでサポートされているすべてのロケールを一覧表示するには:

eselect locale list 

このガイドに基づいて、上記のリストから1つを選択してロケールを構成するために.bashrcLC_ALLLANG変数を設定する必要があります(あなたの場合はen_US.UTF-8を推測しています)。

于 2013-03-01T02:18:21.760 に答える
1

この問題はついに解決されました。XSHELLの問題だと思いますXSHELLgoUTF8を設定すると、問題なく動作します。あなた方全員に感謝します !

于 2013-03-01T04:42:25.410 に答える