Я только что клонировал 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!)
Если есть какие-то ресурсы, которые, по вашему мнению, мне следует изучить, пожалуйста, прокомментируйте! Я вполне готов принять ответы, которые просто подтолкнут меня достаточно, чтобы понять вещи. Любая помощь приветствуется.
libsndfile-dev
илиlibsndfile1-dev
для вашей ОС? Использовать его может быть проще, чем компилировать его самостоятельно, если только вам не нужна его конкретная версия. Этот пакет должен содержать файл pkg-configsndfile.pc
с правильными настройками, которые вы могли бы использовать. - person Karsten Koop   schedule 28.05.2018sudo apt install autoconf autogen automake build-essential libasound2-dev \ libflac-dev libogg-dev libtool libvorbis-dev pkg-config python
, которые мне, вероятно, следует попробовать. - person gordlonious   schedule 28.05.2018