0

を使用できるようにするパッチを適用しようとしていましたstd::to_string()。上で rm を使用し、ダウンロードし/usr/include/wchar.hたパッチwchar.hを /usr/include ディレクトリにコピーしました。プログラムをコンパイルしようとすると、見つからないと不平を言う_mingw.h

wchar.hこの時点で、古いもののコピーを取得し、「パッチを適用した」ものを置き換える方法を見つけたいと思います。なしでそれを行う方法を見つけるだけですstd::to_string();

4

1 に答える 1

5

実際、これはプログラミングとはほとんど関係がないため、ここではおそらくトピック外です。でも...

第一に:あなたに正しく奉仕します。はい。root 権限で作業してきましたが、システムを壊さないように適切な注意を払っていませんでした。別のルート アカウントがあるのには理由があります。日常の作業には使用しないでください。

第二に、これを修正する方法はいくつかありますが、システムによって多少異なります。そのヘッダーをインストールしたパッケージを見つけることから始めて、パッケージ全体を再インストールします。そのファイルだけを抽出して復元することもできますが、おそらくもっと複雑です。たとえば、Debian では、実行dpkg -S /usr/include/wchar.hしてそのファイル (この場合は libc6-dev) をインストールしたパッケージを見つけます。次に、 を使用apt-get install --reinstall libc6-devしてパッケージを再インストールすると、問題が解決するはずです。

最後に、プログラミングに戻ると、あなたのアプローチには欠陥があります。標準ヘッダー ファイルは通常、異なるコンパイラ間で移植できません。また、移植性がさらに低い別のライブラリに実装されている機能を宣言する場合もあります。私の提案: 何を達成したいのか、どのシステムで達成したいのかを具体的に詳述する新しい質問をしてください。

于 2013-04-07T08:44:00.640 に答える