当前位置: 首页 > news >正文

ubuntu:undefined reference to `snd_pcm_open'

这几天在做一个局域网的对讲机和广播系统。

需要用到alsa的库来进行音频采集和播放。

 

但是在编译程序的时候有个比较奇怪的问题。

undefined reference to `snd_pcm_open'

一般来说,这肯定是程序链接的时候,找不到链接库。

可我明明在gcc的参数里面加了 -lasound 选项。

 

后来发现,原来-lasound这个参数的位置会影响到编译的结果。

 

不能通过的写法:gcc -lasound -o main main.o

可以编译通过的写法:gcc -o main main.o -lasound

 

进一步查资料发现:

gcc中库的链接顺序是从右往左进行,所以要把最基础实现的库放在最后,这样左边的lib就可以调用右边的lib中的代码。同时,当一个函数的实现代码在多个lib都存在时,最左边的lib代码最后link,所以也将最终保存下来。

(由于时间关系我没有再深入了解,更多的资料请自行查阅)

转载于:https://www.cnblogs.com/Ph-one/p/6801891.html

相关文章:

  • ubuntu 12.04安装alsa-lib、alsa-utils【转】
  • malloc、calloc、realloc和alloca各种的区别
  • Alsa中PCM参数设置⭐⭐
  • alsa 编程
  • fopen
  • RIFF和WAVE音频文件格式
  • wav音频文件头解析
  • fseek
  • signal( SIGINT, SigIntHandler )
  • Linux下直接读写物理地址内存
  • 数学2考点
  • 2018考研全年备考规划,你还在等什么?
  • 复旦软件工程专业课
  • src源dst目标
  • linux 中mmap的用法
  • .pyc 想到的一些问题
  • @angular/forms 源码解析之双向绑定
  • [译]CSS 居中(Center)方法大合集
  • 【RocksDB】TransactionDB源码分析
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Facebook AccountKit 接入的坑点
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Laravel核心解读--Facades
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PHP 的 SAPI 是个什么东西
  • rabbitmq延迟消息示例
  • SpiderData 2019年2月16日 DApp数据排行榜
  • spring-boot List转Page
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 面试遇到的一些题
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 微信支付JSAPI,实测!终极方案
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • gunicorn工作原理
  • 带你开发类似Pokemon Go的AR游戏
  • ​2020 年大前端技术趋势解读
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • #pragma pack(1)
  • $.each()与$(selector).each()
  • (LeetCode 49)Anagrams
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (备忘)Java Map 遍历
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (论文阅读40-45)图像描述1
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • .aanva
  • .NET6实现破解Modbus poll点表配置文件
  • .NET企业级应用架构设计系列之应用服务器
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • [ 手记 ] 关于tomcat开机启动设置问题