我使用的是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
这样的开发包,但这并没有解决这个问题。
答案 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