如何在gstreamer插件中使用c ++模块?

时间:2015-02-02 14:36:28

标签: c++ c plugins gstreamer libraries

我需要将用C ++编写的算法包含到我的gstreamer插件中。 我创建了algorithm.h文件,其中包含

extern "C" int myFunction( );

和算法algorithm.cpp文件,它实现了这个功能。 现在我建立了&安装我的插件,其中包含algorithm.h文件并调用myFunction(),我试图用我的元素运行测试管道,这导致错误告诉我没有myFunction对象。

我认为这与不将包含myFunction的对象模块包含在插件的二进制文件中有关。因此我的问题是:

如何在我的插件中正确使用我的c ++模块?

1 个答案:

答案 0 :(得分:0)

我使用本教程设法在我的插件中使用了我的c ++模块:link

我还需要在configure.ac文件中包含一些标志。

17 dnl enable mainainer mode by default
18 AM_MAINTAINER_MODE([enable])
19 
20 dnl check for tools (compiler etc.)
21 AC_PROG_CC
22 AC_PROG_CXX         // <-- 22, 23 lines were included.
23 AC_PROG_LIBTOOL     // <-- |
24 
25 dnl required version of libtool
26 LT_PREREQ([2.2.6])
27 LT_INIT

这允许我从我的插件代码编译并运行我的c ++函数。 但是,如果我尝试在我的c ++代码中包含头文件,我仍然会遇到问题。问题是这个模块是在没有gstreamer依赖的情况下编译的,我无法弄清楚如何正确设置它。