わかりましたので、gstreamer ライブラリを使用したいと思います。
1.状況
私はいくつかのコードを持っています:
#include <gst/gstpipeline.h>
#include <gst/gst.h>
...
GstElement* pipe = gst_pipeline_new("PipeName");
gstpipeline.hgst_pipeline_new
で宣言されている場所:
GstElement* gst_pipeline_new (const gchar* name) G_GNUC_MALLOC;
ここで、明白でない「もの」:) はシステムのどこかに定義されています。
typedef struct _GstElement GstElement; // gstelement.h
typedef char gchar; // gtypes.h
#define G_GNUC_MALLOC __attribute__((__malloc__)) // gmacros.h
2.問題
ビルドにmakeを使用しているため、コンパイルおよびリンク中にエラーは発生しません。プログラム自体も正常に動作します。ただし... Eclipse IDEには次のエラーがあります:
Description Resource Path Location Type
Invalid arguments '
Candidates are:
_GstElement * gst_pipeline_new(const ? *)
' file.cc /path/to/file line 106 Semantic Error
Makefile で指定されているすべてのインクルード ディレクトリを eclipse プロジェクト構成に追加しました ([プロジェクト] -> [プロパティ] -> [C/C++ 一般] -> [パスとシンボル] -> [インクルード] -> [C++])。もちろん、これは C++ プロジェクトです。
3. 質問
そのEclipseエラーを取り除く方法は? これを行う方法がわかりません...そして、今ではレガシーコードを使用しており、このようなエラーが約100あるため、気が狂います。
これまでのところ、私は試しました:
reinterpret_cast<>()
または C のようなキャストによるキャストconst gchar*
- ファイルの先頭に追加
typedef char gchar
します-他のインクルードの前に! - 含む
gtypes.h
(gchar
はそこで定義されています) - 他のインクルードの前にも - `_GstElement gst_pipeline_new(const gchar* name)' の再宣言
それらのどれも助けませんでした...
私には、Eclipse が型を認識していないように見えます。gchar
これは、候補が実際の型を代用する_GstElement * gst_pipeline_new(const ? *)
場所であると言っているからです。?
しかし、それを見るためにEclipseを作成する方法(またはイベント強制:))がわかりません...