【发布时间】:2018-05-28 10:51:24
【问题描述】:
我刚刚克隆了libsndfile 并创建了program.c 文件,内容如下:
#include <stdio.h>
#include <sndfile.h>
main() {
printf("hello world");
}
我的目标是让这个文件使用 gcc 编译(如果确实 sndfile.h 是正确的头文件),但是,我不擅长 c 代码和 gcc 编译器。
到目前为止,我一直在引用 gcc docs 和 libsndfile FAQ 并且无法提出解决方案。我不确定 我是否还有一个“库”来提供 gcc -l 选项。我是否需要先对 libsndfile 源代码进行某种构建过程,还是可以“链接”到 .c 文件?
到目前为止,program.c 和 libsndfile 克隆目录在同一目录下,我尝试了以下方法:
gcc 'pkg-config --cflags libsndfile' program.c -o hello
gcc 'pkg-config --cflags ./libsndfile/sndfile.pc.in' program.c -o hello
我在我的树莓派模型 B 上编码并且没有安装 libsndfile,所以我的路径上没有任何内容......也许我应该将 sndfile.pc.in 重命名为 sndfile.pc 并以某种方式将它放在我的路径上? (也不是 linux 大师!)
如果有一些你认为我应该学习的资源,请发表评论!我非常愿意接受那些足以让我弄清楚事情的答案。任何帮助将不胜感激。
【问题讨论】:
-
您的操作系统是否有包
libsndfile-dev或libsndfile1-dev?除非您需要它的特定版本,否则使用它可能比自己编译更容易。该软件包应包含一个 pkg-config 文件sndfile.pc,其中包含您可以使用的正确设置。 -
有关于如何“为debian设置构建环境”的说明,其中包括我应该尝试的
sudo apt install autoconf autogen automake build-essential libasound2-dev \ libflac-dev libogg-dev libtool libvorbis-dev pkg-config python -
看来我需要更多地了解 GNU 构建系统
标签: c gcc libsndfile