博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu:undefined reference to `snd_pcm_open'
阅读量:7113 次
发布时间:2019-06-28

本文共 410 字,大约阅读时间需要 1 分钟。

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

需要用到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,所以也将最终保存下来。

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

转载地址:http://pqghl.baihongyu.com/

你可能感兴趣的文章
在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)
查看>>
Android 控件在布局中按比例放置[转]
查看>>
内核通知链 学习笔记 【转】
查看>>
Input Method of Win32 System
查看>>
count(*) VS count(X)
查看>>
MS ASP.Net Ajax 服务端扩展
查看>>
android102 查询,插入联系人
查看>>
数据库邮件
查看>>
adstrtal.sh报超时错误 ERROR : Timed out( 100000 ): Interrupted Exception
查看>>
一个前端工程师的基本修养
查看>>
ZT:三十个好习惯
查看>>
.Net开发笔记(七)使用组件编程
查看>>
ASP.NET企业开发框架IsLine FrameWork系列之八--AppLogProvider日志框架(下)
查看>>
DataBase异常状态:Recovery Pending,Suspect,估计Recovery的剩余时间
查看>>
一个android版本的rss阅读器--明天补充实现过程,先上图
查看>>
WPF TreeView
查看>>
HTML: 仿写一个财经类静态的网页
查看>>
POJ 3979 分数减法【数学问题的探讨】
查看>>
HashSet
查看>>
C#读写config配置文件
查看>>