首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用gcc链接libsndfile源代码

用gcc链接libsndfile源代码
EN

Stack Overflow用户
提问于 2018-05-28 10:51:24
回答 1查看 850关注 0票数 1

我刚刚克隆了libsndfile并创建了具有以下内容的program.c文件:

代码语言:javascript
复制
#include <stdio.h>
#include <sndfile.h>
main() {
    printf("hello world");
}

我的目标是让这个文件使用gcc编译(如果真的是sndfile.h是正确的头包含),然而,我不胜任c代码或gcc编译器。

到目前为止,我一直在引用gcc博士libsndfile常见问题,还没有想出一个解决方案。我不确定我是否还有一个“图书馆”来补充gcc的-l选项。我需要先使用libsndfile源代码进行某种构建过程,还是可以“链接”到.c文件?

到目前为止,对于同一个目录中的program.c和libsndfile克隆目录,我尝试了以下方法:

代码语言:javascript
复制
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,所以,在我的路径上没有任何东西.也许我应该把sndfile.pc.in改名为sndfile.pc,然后把它放在我的路径上?(也不是linux大师!)

如果有什么你认为我应该学习的资源,请评论!我完全愿意接受那些简单地推动我解决问题的答案。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-03-15 19:55:41

首先,确保安装了gcc

代码语言:javascript
复制
sudo apt-get install gcc

然后,安装libsndfile1-dev

代码语言:javascript
复制
sudo apt-get install libsndfile1-dev

我稍微修正了您的代码,以避免一些警告:

代码语言:javascript
复制
#include <stdio.h>
#include <sndfile.h>

int main(void) {
  printf("hello world\n");
  return 0;
}

现在您可以编译:

代码语言:javascript
复制
gcc -o hello program.c

处决:

代码语言:javascript
复制
bebs@rasp:~$ ./hello                                     
hello world                                                                              
bebs@rasp:~$      
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50564687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档