如何设置开发人员环境来开发pulseaudio模块?

时间:2017-10-17 10:24:34

标签: audio ubuntu-14.04 pulseaudio

我使用的是ubuntu 14.04和pulseaudio 4.0。 我正在编译非常简单的测试模块module-test.c

#include <pulsecore/module.h>

int pa__init(pa_module* m){
  return 0;
}

当我尝试使用

编译它时
gcc -g -shared -o module-test.so module-test.c

我收到此错误

module-test.c:1:30: fatal error: pulsecore/module.h: No such file or directory
 #include <pulsecore/module.h>
                              ^
compilation terminated.

我查看/usr/include并且没有文件夹名称pulsecore。我尝试安装像libpulse-dev这样的开发包,但这并没有解决这个问题。

1 个答案:

答案 0 :(得分:0)

首先要找到名为 pulsecore 的目录。您在 /usr/include 中找到了它,但为了帮助其他人,您可以使用以下命令定位文件 pulsecore/module.h

find / -name module.h

对我来说,它返回:

alpereira7@omen:~$ find / -name module.h
/home/alpereira/pulseaudio/src/pulsecore/module.h

所以对我来说,pulsecore/home/alpereira/pulseaudio/src 中。

我将使用:

gcc -g -shared -I/home/alpereira7/pulseaudio/src -o module-test.so module-test.c

现在我仍然有错误:

#error "Please include config.h before including this file!"

这是相当明确的!所以我将它添加到我的脚本中:

#include <config.h> 
#include <pulsecore/module.h>

int pa__init(pa_module* m)
{
  return 0;
}

我需要指明config.h的位置所以最终的编译命令是:

gcc -g -shared -I/home/alpereira7/pulseaudio -I/home/alpereira7/pulseaudio/src -o module-test.so module-test.c