'make'はインストールされたライブラリを見つけることができません。

'make'はインストールされたライブラリを見つけることができません。

makeを使用してpurple-facebookpidgin

json-glibすでにインストールしたものが必要ですが、コンパイルしようとするたびに返されます。

fatal error: json-glib/json-glib.h: No such file or directory.

/usr/include名前付きリンクjson-glib内にシンボリックリンクを作成しようとしましたが、json-glib-1.0これにより繰り返し出力が発生します。

gcc: warning: /var/cache/apt/archives/libjson-glib-1.0-0-dbg_1.0.2-1_armhf.deb: linker input file unused because linking not done.

私はDebianベースのディストリビューションであるRaspbianを実行しています。これをコンパイルするにはどうすればよいですか?

答え1

私はRasbianユーザーではありませんが、ちょうどJSON GLibをインストールしたとします。図書館。ヘッダファイルも必要です。これはjson-glib-devパッケージで見つけることができます。

一般的なアドバイス:rootにもの(ライブラリ、バイナリ)を移動したり、そこにシンボリックリンクを作成したりすると、何かが間違っている可能性が高く、これを行うより良い方法があります。

答え2

インストールパッケージlibjson-glib-dev。このファイルとその依存項目には必要なファイルが含まれています。

json-glib/json-glib.h以下に/usr/include/json-glib-1.0。したがって、あなたが作成したシンボリックリンクは役に立ちません。削除してください(configureスクリプトを混同する可能性があります)。コンパイラが次のヘッダファイルを検索するには、/usr/include/json-glib-1.0このオプションを渡す必要があります-I /usr/include/json-glib-1.0。ただし、これを手動で実行しないでください。pkg-config、これにはこのオプションと他の必要なオプションが含まれます。 Cコンパイラに渡されたフラグ`pkg-config --cflags json-glib-1.0`とリンクフラグが含まれていることを確認する必要があります`pkg-config --libs json-glib-1.0`

実行すると、./autogen.sh適切なオプションを含むmakefileが作成されます。必要なすべてのライブラリをインストールする前に実行した場合は、./configure再実行するとpkg-config適切なオプションが呼び出され、新しいライブラリが作成されますMakefilemake

Debianパッケージをビルドするには、依存関係をインストールして実行するだけで十分ですdpkg-buildpackage(少なくともjessieは必要なライブラリがあることを確認するためにwheezyをチェックしませんでした)。それでも問題が解決しない場合は、実行したすべてのコマンドと出力全体をコピーして貼り付けてください。

関連情報