ソースからMac OS X EI CaptainまでGTK2を構築しようとしています。しかし、環境変数(INCLUDE?)でエラーが発生し、ビルドできません。提案があれば助けてください。
次のエラーが発生した人はいませんか?
hash.c:111:3: エラー: 宣言されていない 'free' 識別子を使用しました。 obstack_init(&htab->mem_pool); ^ ./obstack.h:294:65: 注: マクロ "obstack_init" から拡張 (スペース() (ロング)) obstack_chunk_alloc, (void(*) (void*)) obstack_chunk_free) ^ hash.c:53:28: 注: マクロ 'obstack_chunk_free' で展開 #obstack_chunk_freeを無料で定義 ^私の考えでは、gccがインクルードファイルであるmalloc.hを見つけることができないと思います。私はこれが正しいことを理解していません。
まず、次のパッケージをダウンロードしました。 gtk+-2.24.30、glib-2.28.0、atk-1.29.2、pango-1.20.0、gdk-pixbuf-2.21.3、gettext-0.10.40
私は次のことをしました。
$cd gettext-0.10.40 $ ./config $作るこれにより、次のエラーが発生します。
hash.c:111:3: エラー: 宣言されていない 'free' 識別子を使用しました。 obstack_init(&htab->mem_pool); ^ ./obstack.h:294:65: 注: マクロ "obstack_init" から拡張 (スペース() (ロング)) obstack_chunk_alloc, (void(*) (void*)) obstack_chunk_free) ^ hash.c:53:28: 注: マクロ 'obstack_chunk_free' で展開 #obstack_chunk_freeを無料で定義 ^ hash.c:121:3: 警告: 'free' 関数の暗黙的な宣言は C99 では無効です。 [-W 暗黙的な関数宣言] free(htab - >テーブル); ^ 1つの警告と1つのエラーを生成します。一般的な Linux ディストリビューションの malloc.h は /usr/include にありますが、Mac OS X EI Captain の malloc.h は /usr/include/sys にあります。だから私は次のことをしました。
$cd gettext-0.10.40 $env CPPFLAGS=-I/usr/include/sys ./configure $作るただし、同じエラーが発生します。これは私が処理するにはあまりにも多くのことです。
ありがとうございます。