我需要将用C ++编写的算法包含到我的gstreamer插件中。 我创建了algorithm.h文件,其中包含
extern "C" int myFunction( );
和算法algorithm.cpp文件,它实现了这个功能。 现在我建立了&安装我的插件,其中包含algorithm.h文件并调用myFunction(),我试图用我的元素运行测试管道,这导致错误告诉我没有myFunction对象。
我认为这与不将包含myFunction的对象模块包含在插件的二进制文件中有关。因此我的问题是:
如何在我的插件中正确使用我的c ++模块?
答案 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依赖的情况下编译的,我无法弄清楚如何正确设置它。