我想在使用PortAudio接口的Debian GNU/Linux上創建一個C應用程序。要做到這一點,我必須從這個docs.無法編譯使用ALSA
爲此,我安裝了libasound2-dev
編譯我的程序與gcc -lrt -lasound -ljack -lpthread -o YOUR_BINARY main.c libportaudio.a
,我查了文件的使用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應正確安裝,但是當我編譯我的程序與此生成的文件:
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默認是什麼? – 2013-03-09 13:01:50
我的系統默認是64位mulitarch:'3.2.0-4-amd64',而我的gcc是:'gcc version 4.7.2(Debian 4.7.2-5)''Target:x86_64-linux-gnu' 。 – tversteeg 2013-03-09 13:02:44
對於'-static',你沒有'libasound.a' ...你不能鏈接一個靜態二進制文件。 – 2013-03-09 13:06:30