Я только что клонировал libsndfile и создал файл program.c со следующим содержимым:
#include <stdio.h>
#include <sndfile.h>
main() {
printf("hello world");
}
Моя цель - скомпилировать этот файл с помощью gcc (если действительно нужно включить sndfile.h в заголовок), однако я не компетентен ни в коде c, ни в компиляторе gcc.
До сих пор я ссылался на документы gcc и libsndfile FAQ и не смог найти решения. Я не уверен, что У меня даже есть `` библиотека '' для опции gcc -l. Нужно ли мне сначала пройти какой-то процесс сборки с исходным кодом libsndfile или я могу «привязать» к файлам .c?
Пока что, используя program.c и каталог clone 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!)
Если есть какие-то ресурсы, которые, по вашему мнению, мне следует изучить, прокомментируйте! Я совершенно готов принять ответы, которые просто подталкивают меня к тому, чтобы разобраться во всем. Любая помощь приветствуется.
Там есть инструкции о том, как «настроить среду сборки для debian», которая включает sudo apt install autoconf autogen automake build-essential libasound2-dev \ libflac-dev libogg-dev libtool libvorbis-dev pkg-config python, которую я, вероятно, должен попробовать.
Похоже, мне нужно немного больше узнать о системе сборки GNU





Сначала убедитесь, что у вас установлен 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:~$
Есть пакет
libsndfile-devилиlibsndfile1-devдля вашей ОС? Использовать его может быть проще, чем компилировать его самостоятельно, если вам не нужна конкретная его версия. Этот пакет должен содержать файл pkg-configsndfile.pcс правильными настройками, которые вы могли бы использовать.