我刚刚克隆了libsndfile并创建了具有以下内容的program.c文件:
#include <stdio.h>
#include <sndfile.h>
main() {
printf("hello world");
}我的目标是让这个文件使用gcc编译(如果真的是sndfile.h是正确的头包含),然而,我不胜任c代码或gcc编译器。
到目前为止,我一直在引用gcc博士和libsndfile常见问题,还没有想出一个解决方案。我不确定我是否还有一个“图书馆”来补充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,所以,在我的路径上没有任何东西.也许我应该把sndfile.pc.in改名为sndfile.pc,然后把它放在我的路径上?(也不是linux大师!)
如果有什么你认为我应该学习的资源,请评论!我完全愿意接受那些简单地推动我解决问题的答案。任何帮助都将不胜感激。
发布于 2021-03-15 19:55:41
首先,确保安装了gcc:
sudo apt-get install gcc然后,安装libsndfile1-dev
sudo apt-get install libsndfile1-dev我稍微修正了您的代码,以避免一些警告:
#include <stdio.h>
#include <sndfile.h>
int main(void) {
printf("hello world\n");
return 0;
}现在您可以编译:
gcc -o hello program.c处决:
bebs@rasp:~$ ./hello
hello world
bebs@rasp:~$ https://stackoverflow.com/questions/50564687
复制相似问题