gtk スタック (最新の gtk2 バージョン、2.24) をコンパイルしようとしていますが、関連していると思われるエラーが多数発生しています。つまり、__locale_t
string.h と time.h から見つけることがLC_ALL_MASK
できず、どちらも見つけることができません (locale.h にある必要があります)。
これらの問題はすべて__USE_XOPEN2K8
#defined ではないことに関連していることがわかりました。何__USE_XOPEN2K8
のために、どうすれば適切に設定できますか?
たとえば、glib、gtk などの ./configure にフラグを渡す必要がありますか? それとも、gcc または glib c̲のビルド中に何かを変更する必要がありますか? #define __USE_XOPEN2K8
それが何をするのかわからないまま、自分の情報源にふりかけるだけではだめです。古いバージョンのみを含む古い CentOS (5.8) で gtk ライブラリを動作させようとしているため、非標準のプレフィックスでインストールされている gcc-4.6.3 と glibc-2.16.0 を使用していることに注意してください。
また、このバグレポートなど、いくつかの場所で欠落__locale_t
が言及されていることに注意してください。いくつかのファイルを追加することもできますが、適切な解決策は設定することです。#include <xlocale.h>
__USE_XOPEN2K8
編集:問題を説明しているこのスレッドを見つけました。どうやら、ホスト システムのヘッダーは、新しいコンパイラのヘッダーに "fixincluded" されます。リンクされた投稿は、features.h を編集することを提案しています。後で gcc / glibc を再コンパイルする必要があるかどうか (および上書きするのではなく、新しい features.h を取得する方法) を知っている人はいますか?