Я пытаюсь создать приложение C на Debian GNU/Linux, которое использует интерфейс PortAudio. Для этого я должен скомпилировать свою программу с gcc -lrt -lasound -ljack -lpthread -o YOUR_BINARY main.c libportaudio.a
из этого docs.Не удается скомпилировать с использованием ALSA
Для этого я установил libasound2-dev
, и я проверил, где файлы с помощью apt-file search libasound.so
, это выход:
lib32asound2: /usr/lib32/libasound.so.2
lib32asound2: /usr/lib32/libasound.so.2.0.0
lib32asound2-dev: /usr/lib32/libasound.so
libasound2: /usr/lib/x86_64-linux-gnu/libasound.so.2
libasound2: /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
libasound2-dev: /usr/lib/x86_64-linux-gnu/libasound.so
Так libasound должно быть установлен правильно, но когда я скомпилировать свою программу с этим Makefile:
DMXTest: main.c libdmx.a
gcc -static -Wall main.c -L. -ldmx -lusb -lrt -lasound -ljack -lfftw3 -g -o main libportaudio.a
Я получаю следующее сообщение об ошибке: /usr/bin/ld: cannot find -lasound
.
Как правильно связать эту библиотеку?
У вас есть 32 и 64-разрядные библиотеки, какая у вас система и gcc по умолчанию? –
Моя система по умолчанию 64 бит с mulitarch: '3.2.0-4-amd64', а мой gcc:' gcc version 4.7.2 (Debian 4.7.2-5) 'с' Target: x86_64-linux-gnu' , – tversteeg
У вас нет 'libasound.a' для' -статического' ... вы не можете связать статический двоичный файл. –