首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何编译自定义PulseAudio模块?

如何编译自定义PulseAudio模块?
EN

Stack Overflow用户
提问于 2019-03-07 01:53:40
回答 1查看 1.2K关注 0票数 2

我正在尝试编写一个PulseAudio模块。首先,我为this文档中提到的模块编写了以下最少的代码。

代码语言:javascript
运行
AI代码解释
复制
#include <pulsecore/module.h>
int pa__init(pa_module *m)
{
    return 0;
}

我尝试使用以下命令编译它:

代码语言:javascript
运行
AI代码解释
复制
gcc -g -shared -o module-test.so module-test.c

但它会给出错误:

代码语言:javascript
运行
AI代码解释
复制
 pulsecore/module.h: No such file or directory
 #include <pulsecore/module.h>
          ^~~~~~~~~~~~~~~~~~~~
 compilation terminated.

在网上搜索后,我发现我必须安装libpulse-dev,但我已经安装了pulseaudiolibpulse-dev,如下所示。

代码语言:javascript
运行
AI代码解释
复制
jyotesh@jyotesh-VM:~$ sudo apt install pulseaudio libpulse-dev
[sudo] password for jyotesh: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libpulse-dev is already the newest version (1:11.1-1ubuntu7.2).
pulseaudio is already the newest version (1:11.1-1ubuntu7.2).
0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.

我尝试过使用locatefindapt-file等搜索头文件,但找不到这个头文件的位置。

有人知道如何编译PulseAudio模块吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-08 00:22:24

通过遵循herehere中的步骤,我能够编译代码并构建module-test.so文件。我将在这里重复这些步骤:

首先,我从源代码构建并安装了PulseAudio v12.2。

代码语言:javascript
运行
AI代码解释
复制
# Clone PulseAudio git repository
git clone https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git

# I wanted 12.2 version of PulseAudio, so I checked out that version
cd pulseaudio
git checkout tags/v12.2

# Install the dependencies
sudo apt-get -y build-dep pulseaudio

# Build PulseAudio source code
./bootstrap.sh
make

# Install and configure dynamic linker run-time bindings (so that
# ld can find the libraries that you specify while building your module)
sudo make install
sudo ldconfig

在此之后,我为模块编写了最少的代码。

代码语言:javascript
运行
AI代码解释
复制
#include <config.h> // this is required, otherwise you will get compilation errors
#include <pulsecore/module.h>
int pa__init(pa_module *m)
{
    return 0;
}

为了编译它,我使用了下面的命令

代码语言:javascript
运行
AI代码解释
复制
gcc -g -shared -fPIC -I/home/jyotesh/pulseaudio -I/home/jyotesh/pulseaudio/src -L/home/jyotesh/pulseaudio/.libs -L/usr/local/lib/pulseaudio -o module-test.so module-test.c -lpulsecore-12.2 -lpulsecommon-12.2 -lpulse
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55034873

复制
相关文章
Pulseaudio入门介绍(一)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124716.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/03
9100
Pulseaudio入门介绍(一)
pycharm如何导入自定义模块_Python添加模块
问题:明明python已经安装模块,但是在pycharm打开的项目中,导入改模块,却提示找不到改模块
全栈程序员站长
2022/09/28
2K0
pycharm如何导入自定义模块_Python添加模块
如何Import自定义的Python模块?
实际工作中,经常要用的功能能不能像导入Python模块一样,通过import导入呢?答案当然是可以的,本文教你如何做,大家一起来学习吧!
CDA数据分析师
2020/12/18
1.7K1
如何Import自定义的Python模块?
ALSA的pulse插件_pulseaudio启动
此博文为记录我初次进行树莓派开发语音唤醒时遇到的问题以及解决方法,如果有更好的方法,欢迎讨论。
全栈程序员站长
2022/11/03
1.5K0
ALSA的pulse插件_pulseaudio启动
自定义模块
<img src="https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/6d212114dda5a3460d341bbcb6650b
Twcat_tree
2022/11/30
4450
自定义模块
Android系统模块编译命令
9.0: 编译 wpa_supplicant make wpa_supplicant /vendor/bin/hw/wpa_supplicant 编译 /frameworks/opt/net/wifi/service/ make wifi-service /system/framework/wifi-service.jar 编译/framrwork/ make framework
用户7557625
2021/06/01
1.9K0
生产线上的Nginx如何添加未编译安装模块
正在生产线上跑着web前端是nginx+tomcat,现在有这样一个需求,需要对网站的单品页面和列表页设置缓存,不同的页面设置不同的缓存,但是由于开始没有安装ngx_cache_purge这个模块,现在没法直接往配置文件里边写,这时候,就需要在线安装ngx_cache_purge此模块,下边就说下怎么在线编译安装新模块。 安装步骤: 1.首先看下内核和系统的版本号。 [root@vmware1 ~]# uname -a Linux vmware1 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux [root@vmware1 ~]# lsb_release -a LSB Version:    :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch Distributor ID: CentOS Description:    CentOS release 5.8 (Final) Release:        5.8 Codename:      Final
星哥玩云
2022/06/28
7040
【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import / from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )
在另外的文件中 , 导入 my_module 模块 , 然后通过 my_module.add 调用 my_module 模块中的 add 函数 ;
韩曙亮
2023/10/11
8220
【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import / from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )
CSDN如何自定义一个漂亮的模块
<div class="aside-content clearfix"> <marquee scrollamount="3"> <b> <span> <font color="#FF0000">不荒废现在,不畏惧未来!</font> </span> </b> </marquee> <br>
手撕代码八百里
2020/07/29
3610
SpringBoot之如何自定义一个Starter模块
前面我们说到了在SpringBoot中自定义Enable模块,那么如何在SpringBoot中如何自定义一个Starter模块呢?要想自定义一个Starter模块,就需要理解自动装配的原理。 首先,想想我们自动装配涉及到哪些关键的类或者属性文件?无非就是配置类+spring.factories属性文件。
码农飞哥
2021/08/18
5400
2020-6-5-如何编译electron依赖的c++模块
像java,python这类代码是需要对应平台的vm环境,转成平台相关代码才能够执行。
黄腾霄
2020/06/10
2.6K1
Python 自定义模块
1.import 模块名:导入模块中的所有内容(引入多个用逗号分隔) import random,time
用户7886150
2021/01/21
8570
宝塔Tengine(2.3.2)编译Brotli模块
我建站没几个钱,买 1M 服务器,又贪图速度,想加载快点。之前是静动分离, BBR,CDN,webp自适应 。
jcjyxjs
2021/09/09
1.1K0
宝塔Tengine(2.3.2)编译Brotli模块
宝塔Tengine(2.3.2)编译Brotli模块
由于我是宝塔用户,所以不需要读取编译信息。直接在 软件商店→Nginx→编译安装→添加自定义模块
jcjyxjs
2021/09/04
6370
Nginx重新编译添加模块
找到安装nginx的源码根目录,如果没有的话下载新的源码 http://nginx.org tar xvzf nginx-1.3.2.tar.gz 查看ngixn版本极其编译参数 /usr/local/nginx/sbin/nginx -V 进入nginx源码目录 cd nginx-1.3.2 以下是重新编译的代码和模块 ./configure --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_module --w
CrazyCodes
2019/11/07
1.6K0
SpringBoot 多模块项目打包编译
非编译类不要加入以下代码,service引入public模块的代码,public的pom文件就不要写以下的配置,否则会报错
余生大大
2022/11/02
7150
SpringBoot 多模块项目打包编译
编译安装LAMP(基于模块方式)
具体安装请参见MariaDB的二进制格式安装和CentOS 6上编译安装httpd-2.4两篇文章,此处不再赘述。
用户1456517
2019/03/05
6160
编译安装LAMP(基于模块方式)
云函数 SCF 支持容器镜像交付 - 赋能应用 Serverless 化
01. FaaS 产品与容器生态的结合 容器镜像已成为云原生时代标准的交付物,并且有其强大的生态来解决 CICD、存储、编排等实际需求。云函数 SCF 从设计之初即是基于云原生架构的 FaaS 产品,同时也是 Serverless 思想的最佳产品化体现之一。在 Runtime 层支持自定义容器镜像后,意味着产品形态整体向容器化生态迈出了第一步。 一方面,解决函数运行时的环境依赖问题,给予用户更大的自由发挥空间;另一方面,产品形态层面的呈现使得用户无需受困于 Kubernetes 集群管理、安全维护、
腾讯云serverless团队
2021/06/03
1.6K0
点击加载更多

相似问题

C++:如何通过DBUS加载PulseAudio模块?

12

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

10

PulseAudio不会在cmake上编译

11

如何在PulseAudio中使用回声消除模块?

143

编译没有插孔的PyAudio,没有PulseAudio等

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档