0

私は Mac OS X Mountain Lion を使用しており、autotools やその他の GNU ビルド ツールの初心者です。aa C プロジェクト ( axis2/c )で使用する json-c のカスタム バージョンをビルドしようとしています。自動ツールを実行した後、configure コマンドを実行すると、次の出力でエラーが発生します。

checking whether to use JSON... yes
checking for JSON... no
configure: error: Package requirements (json) were not met:

No package 'json' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables JSON_CFLAGS
and JSON_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

macports から json-c をインストールすると、configure は正しく実行されます。残念ながら、このプロジェクトには、macports で使用できるバージョンよりも新しいバージョンの json-c が必要です (構成段階では成功しても、後でコンパイル エラーが発生します)。

これをソースから手動でインストールすると、ライブラリが /usr/local/lib にあり、ヘッダー ファイルが /usr/local/include/json-c にあることがわかります。macports からの json-c ファイルを削除した後、これらのファイルを /opt/local/lib および /opt/local/include/json-c の場所にコピーしようとしましたが、それでも同じパッケージが見つからないというエラーが発生しました。

configure を実行したときにパッケージが「見つかった」場合とは、macports の違いは何ですか? ソースから json-c を手動でインストールするときに、同じものを複製できますか?

前もって感謝します。

4

1 に答える 1

0

Macports は /opt/local/pkgconfig/ の下に .pc ファイルを作成します。この場合、それは json.pc でした。これを編集して /usr/local 内の場所を指すようにすると、configure がソースから手動でビルドしたパッケージを見つけて使用しました。

于 2013-07-20T17:49:52.350 に答える