![如何获取共享库和头文件来安装 Zita-at1](https://linux22.com/image/1057948/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E5%85%B1%E4%BA%AB%E5%BA%93%E5%92%8C%E5%A4%B4%E6%96%87%E4%BB%B6%E6%9D%A5%E5%AE%89%E8%A3%85%20Zita-at1.png)
我正在尝试安装一个名为 Zita-at1 的程序。安装指南中写道:
要安装,请 cd 到源目录,make,sudo make install,make clean。
要构建此版本,您需要共享库
libclthreads-2.4.0 libclxclient-3.9.0
以及相应的头文件。它们位于
http://kokkinizita.linuxaudio.org/linuxaudio/downloads
安装到Makefile 中
/usr
而不是/usr/local
修改“PREFIX”的定义。
我不知道“make、make install 或 make clean”是什么意思。也不知道如何“获取”我需要的共享库。这些是使用终端命令安装的吗?
我已经下载了头文件,但不知道把它们放在哪里或如何处理它们。我基本上需要帮助来解码这些指令
答案1
搜索以查找哪个 Ubuntu 软件包提到了所需的库
apt-file search libclthreads
它回应
libclthreads-dev: /usr/lib/x86_64-linux-gnu/libclthreads.so
libclthreads-dev: /usr/share/doc/libclthreads-dev/changelog.Debian.gz
libclthreads-dev: /usr/share/doc/libclthreads-dev/copyright
libclthreads2: /usr/lib/x86_64-linux-gnu/libclthreads.so.2
libclthreads2: /usr/lib/x86_64-linux-gnu/libclthreads.so.2.4.0
libclthreads2: /usr/share/doc/libclthreads2/changelog.Debian.gz
libclthreads2: /usr/share/doc/libclthreads2/copyright
以 结尾的软件包-dev
表示它们包含头文件,因此使用
sudo apt-get install libclthreads-dev
其回应包括
Preparing to unpack .../libclthreads2_2.4.0-5_amd64.deb ...
这确认了匹配的版本...其他库也类似
apt-file search libclxclient
你可以看到它提到了-dev
所以选那个
sudo apt-get install libclxclient-dev
现在下载并展开 Zita-at1 后,进入其源代码目录并进行编译
cd zita-at1-0.4.0/source
make
它失败了
stens@bodhisattva ~/other_src/zita-at1-0.4.0/source $ make
g++ -O2 -ffast-math -Wall -MMD -MP -march=native -MMD -MP -DVERSION=\"0.4.0\" -DSHARED=\"/usr/local/share/zita-at1\" -I/usr/X11R6/include `freetype-config --cflags` -c -o zita-at1.o zita-at1.cc
In file included from jclient.h:28:0,
from zita-at1.cc:29:
retuner.h:27:38: fatal error: zita-resampler/resampler.h: No such file or directory
compilation terminated.
<builtin>: recipe for target 'zita-at1.o' failed
make: *** [zita-at1.o] Error 1
所以我刚刚发现缺失的标题位于 zita-resampler 中,它列在您提供的同一链接中,所以让我们首先安装它...下载并展开后即可进行编译
cd zita-resampler-1.6.0/libs
make
给出输出
g++ -Wall -fPIC -O2 -ffast-math -march=native -I. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -c -o resampler.o resampler.cc
g++ -Wall -fPIC -O2 -ffast-math -march=native -I. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -c -o vresampler.o vresampler.cc
g++ -Wall -fPIC -O2 -ffast-math -march=native -I. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -c -o resampler-table.o resampler-table.cc
g++ -Wall -fPIC -O2 -ffast-math -march=native -I. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -c -o cresampler.o cresampler.cc
g++ -shared -Wl,-soname,libzita-resampler.so.1 -o libzita-resampler.so.1.6.0 resampler.o vresampler.o resampler-table.o cresampler.o
现在安装它
cd zita-resampler-1.6.0/libs
sudo make install
所以最后回到我们原来的失败make
并重试,因为它的上游库已经安装
cd zita-at1-0.4.0/source
make
生成可执行文件
zita-at1
完成...如果当你发出时make
说没有找到,那么通过发出以下命令安装你的编译工具
sudo apt-get install build-essential
这将为你提供 make 以及其他编译工具