You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GCC编译独立文件时如何正确链接libsndfile库

解决libsndfile外部编译make_sine.c的问题

问题原因

你遇到的链接错误分两类:

  • 未链接libsndfile库:sf_open、sf_close等函数属于libsndfile库,编译时需要显式指定链接该库
  • 未链接数学库:sin函数属于标准数学库libm,GCC不会自动链接这个库,必须手动指定

正确编译命令

使用以下命令即可成功编译:

gcc make_sine.c -lsndfile -lm

编译完成后,运行生成的默认可执行文件即可生成WAV文件:

./a.out

补充说明

如果后续使用自己编译的libsndfile版本(而非apt安装的),需要额外指定库的安装路径。比如你的libsndfile编译后安装在/usr/local/lib,则命令应为:

gcc make_sine.c -L/usr/local/lib -lsndfile -lm

内容的提问来源于stack exchange,提问作者James T. Kirk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 14:02:37