我刚刚克隆了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
我在我的raspberry pi模型B上编码,没有安装libsndfile,所以,我的路径上没有任何东西...也许我应该将www.example.com重命名sndfile.pc.in为sndfile.pc,然后以某种方式将它放在我的路径上?(也不是linux大师!)
如果你认为我应该学习一些资源,请发表意见!我非常愿意接受简单地推动我足够弄清楚事情的答案。任何帮助都将不胜感激。
2条答案
按热度按时间fhg3lkii1#
首先确保您已经安装了
gcc
:然后,安装
libsndfile1-dev
:我稍微修改了代码以避免一些警告:
现在您可以编译:
执行:
zbwhf8kr2#
@alpereira7答案的一个小补充。没有它的库会导致链接失败。
gcc -lsndfile -o hello program.c
应该是一个100%的解决方案。