2011-10-20 15 views
3

私はcプログラムに含まれるヘッダファイルのデフォルトパスは?

#include "header.h" 

のような任意のCファイルに記述した場合、それが現在のディレクトリに

をこのファイルを検索しますが、私は

#include <header.h> 

を書くとき、それはこれを見つけるために行く場所を確認ファイル? cプログラムに含まれるヘッダファイルのためのdefualtパスは何ですか?私は私はこのエラーを削除するにはどうすればよいfatal error: gst/gst.h: No such file or directory

をgeetingい

#include <gst/gst.h> 

を含めていたときに

は、私が、/ usr/localにGStreamerのをインストールしている見たが?

+2

を使用することができます。 [こちら]:http://stackoverflow.com/questions/1217943/where-are-include-files-stored-ubuntu-linux-gcc –

答えて

4

検索されるパスは、実装(および現在の設定)によって異なります。 <>もののためのデフォルトのパスは、少なくともUnix上で、/usr/includeある

/usr/include 
+0

このエラーが表示されます - >パッケージgstreamerが見つかりませんでしたpkg-config検索パス。 おそらく 'gstreamer.pc 'を含むディレクトリ をPKG_CONFIG_PATH環境変数に追加してください。 パッケージ' gstreamer 'が見つかりません –

+0

@ Mr.32おそらくバージョンを指定する必要があります。あるいは、 'gstreamer'が正しくインストールされていないかもしれません。 '/ usr/lib/pkgconfig'と'/usr/share/pkgconfig'を見てください。 – cnicutar

+0

@ Mr.32:cnicutarはpkg-configを使う必要があると指摘しています。 gstreamerの場合、それはgstreamerではなく、gstreamer-です。/ usr/localにあるgstreamerをインストールして 'ls/usr/local/lib/pkgconfig/gstreamer *'の出力を確認したなら、.pcファイルがたくさんあるはずです。 'export PKG_CONFIG_PATH =/usr/local/lib/pkgconfig'を実行し、' ls'コマンドで 'gstreamer-0.10.pc'が見つかったと仮定して' pkg-config --cflags gstreamer-0.10'を実行してみましょう。それはどんな出力を表示しますか? –

2

を使用することです。

-I /my/new/pathコンパイラオプションを使用して、デフォルトパスをいくつでも追加することができます。

4

:パスを含める見つけるための正しい方法は、あなたがそれらのファイルを見つけることができますpkg-config

pkg-config --cflags gstreamer 
11

gcc -v -E -を試してみてください。私が行うと、以下のように、出力の一部は次のとおりです。

#include <...> search starts here: 
/usr/lib/gcc/i686-linux-gnu/4.6.1/include 
/usr/local/include 
/usr/lib/gcc/i686-linux-gnu/4.6.1/include-fixed 
/usr/include/i386-linux-gnu 
/usr/include 

それはgstreamerの質問への答えではないのですが、私はこれはまだ役に立てば幸い! here

3

から引き出さ

デフォルトのパスを使用すると、別のパスを使用する場合は、あなたが-Iフラグを使用してコンパイルコマンドに追加することができます

/usr/local/include 
/usr/include 

です。あなたのケースでは、あなたが/usr/local/gst/includeディレクトリを持っていると仮定すると、あなたは-I/usr/local/gst/includeを追加し、[ここ]の回答を見ることができます#include <whatever_you_need.h>

1
`gcc -print-prog-name=cc1` --verbose 
+2

このコマンドが何をしているのか、そしてどのように役立つのか簡単な説明を追加することで、 – dakab

+2

私は@ dakabに同意します。これがOPにどのように役立つかを説明する必要があります – ChipsLetten

関連する問題