web-dev-qa-db-ja.com

GStreamerでC / C ++プログラムをコンパイルする方法

私はこのコードをコンパイルしようとしています:

#include <stdio.h>
#include <stdlib.h>
#include <gst/gst.h>

int main (int   argc,
      char *argv[])
{
  const gchar *nano_str;
  guint major, minor, micro, nano;

  gst_init (&argc, &argv);

  gst_version (&major, &minor, &micro, &nano);

  if (nano == 1)
    nano_str = "(CVS)";
  else if (nano == 2)
    nano_str = "(Prerelease)";
  else
    nano_str = "";

  printf ("This program is linked against GStreamer %d.%d.%d %s\n",
          major, minor, micro, nano_str);

  return 0;
}

ターミナルでこのコマンドを使用すると:

libtool --mode=link gcc `pkg-config --cflags --libs gstreamer-1.0` -o main main.c

私はこのエラーを受け取ります:

Package gstreamer-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gstreamer-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gstreamer-1.0' found
libtool: link: gcc -o main main.c

そして、このエラー:

main.c:3:21: fatal error: gst/gst.h: No such file or directory

しかし、apt-getでGStreamer 1.0とlibtoolをインストールしました。どこから始めればいいですか?インターネット全体で回答を検索していますが、回答がありません。

4
dwinar

gst/gst.hlibgstreamer1.0-dev で提供されます。インストールしてください:

Sudo apt-get install libgstreamer1.0-dev

Code :: Blocksでは、カスタムインクルードの場所とリンカーフラグを設定できます。 Projectメニューで、Build optionsをクリックします: enter image description here

6
muru

Eclipseを使用している場合は、Eclipse内からプロジェクトを作成するために以下を実行する必要があります。

プロジェクト名を右クリックして、プロパティを選択します。 [C/C++ビルド]で、[設定]を選択します。

  1. [ツール設定]で、GCC Cコンパイラを開き、[その他]を選択します。他のフラグテキストボックスに次を追加します。

    `pkg-config --cflags gstreamer-1.0` -fPIC
    
  2. [ツールの設定]で、GCC C++リンカーを開き、[その他]を選択します。次をリンカーフラグテキストボックスに追加します。

    `pkg-config --libs gstreamer-1.0 gobject-2.0 glib-2.0`
    
  3. [ツール設定]で、GCC C++リンカーを開き、[ライブラリ]を選択します。ライブラリセクションにgstreamer-1.0、gobject-2.0およびglib-2.0を追加します。

アプリケーションは、コンパイルとリンクに成功するはずです。

2
mehdi