私は、2つのライブラリGStreamerとlibXml2を使用するファイルapp.cを持っています。単純なアプリケーション用のMakefile
all:
gcc -Wall $(pkg-config --cflags --libs gstreamer-0.10) app.c -o app -I/usr/include/libxml2 -lxml2
run:
./app
clean:
rm app
予想通り、私はエラーを取得するコマンドをmakeを実行するには、次のように私は内容でメイクファイルしようとすると、私は
gcc -Wall $(pkg-config --cflags --libs gstreamer-0.10) app.c -o app -I/usr/include/libxml2 -lxml2
ターミナル
上で次のように入力するアプリケーションをコンパイルするには。何が意味するのですか$(pkg-config --cflags --libs gstreamer-0.10)
私は上記をエコーして、Makefileに含まれていると正しい出力が得られます。
ホストマシンでxml2-config --cflagsを実行すると、出力として\t -I/usr/include/libxml2が出力されます。しかし、別のプロセッサ(ゲスト)でそうすると、xml-configのエラーが見つかりません。そこにlibxml2がインストールされていますが。私はホストからのゲストのためのアプリケーションをコンパイルしたい。 – w2lame
"別のプロセッサ"とは、別のユーザー名を意味しますか?ゲストアカウントにPKG_CONFIG_PATH変数が正しく設定されていない可能性があります。両方のユーザー名を使用して 'echo $ PKG_CONFIG_PATH'を実行し、結果を比較してみてください。 – misha
また、 'bash'シェルを使用していることを確認してください(プロンプトに' bash'を入力するだけです)。 Ubuntuのようなディストリビューションのデフォルトのシェルは 'ダッシュ'です。私はちょうど 'ダッシュ'シェルでこれを試して、コマンド展開(バック引用符の間のビット)は正しく展開されませんでした。 – misha