ライブラリとヘッダーファイルを検索するためにmake
コマンドが使用するパスを教えてもらえれば、 質問に投稿されたこれらのエラー を取得し、手動でパスを確認したいと思います。
Ubuntu 12.04 LTS、2.6.38-16カーネル、gccバージョン4.6.3があり、このパッケージをコンパイルしようとしています。
http://nrg.cs.ucl.ac.uk/mptcp/mptcp_userland_0.1.tar.gz
ありがとうございました。
make
コマンド自体は、ライブラリまたはヘッダーファイルを検索しません-代わりに、現在のディレクトリでMakefileを検索し(コマンドラインで-f
オプションを使用して代替ファイルが指定されていない限り)、実行します内部の指示。これらは通常、gcc
やg++
などの特定のコンパイラーに対する指示です。
Makefileは、-I
(インクルードファイル用)および/または-L
(ライブラリ用)ディレクティブを使用して、特定のコンパイルコマンドの検索パスを追加できます。 default検索パスは、コンパイラのドキュメントで見つけることができます。 GNU gcc:検索パス または、コンパイラの冗長性を有効にして空のファイルを処理することにより、それらを直接リストできます。 gccインクルードパスとは
echo | `gcc -print-prog-name=cc1` -v
または、インクルードパス情報とライブラリパス情報の両方を表示するにはecho | gcc -xc -E -v -
(Cの場合)またはecho | gcc -xc++ -E -v -
(C++の場合)。
ただし、リンクした質問は、make
コマンドからではなく、./configure
スクリプトからの出力のように見えます。 ./configure
スクリプトはGNU automakeシステムの一部であり、さまざまなコンポーネントがどこに配置されているかを特定することにより、ローカルビルド環境用の 'カスタム' Makefileを作成するために使用されますyour system。ソースからビルドし、/usr/local/
のような場所にインストールした他のビルド依存関係など、非標準の場所にライブラリがある場合、それらの場所を渡す必要がある場合があります./configure
スクリプトへ.
./configure --with-foo=/usr/local --with-bar=/opt/bar_3.14
特定の手順については、ビルドしようとしているパッケージのREADMEまたは同様のドキュメントを参照する必要があります。