试图在Ubuntu 16上安装libsndfile

Ale*_*x V 2 ruby ubuntu libsndfile

我试过跑步

sudo apt-get install libsndfile
> E: Unable to locate package libsndfile
Run Code Online (Sandbox Code Playgroud)

那么我试试吧

sudo apt-get install libsndfile1
Run Code Online (Sandbox Code Playgroud)

它安装,但在哪里,如何?

find /usr/ -name libsndfile*
> /usr/lib/x86_64-linux-gnu/libsndfile.so.1
> /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
Run Code Online (Sandbox Code Playgroud)

在一天结束时,我的目标是让lib工作为ruby,使用以下任一方法:

gem install sndfile
gem install ruby-audio
Run Code Online (Sandbox Code Playgroud)

当我尝试安装ruby-audio时,我得到:

extconf.rb:21:in `<main>':   Can't find libsndfile (http://www.mega-nerd.com/libsndfile/) (RuntimeError)
Run Code Online (Sandbox Code Playgroud)

因此,由于某种原因,库无法正确安装.

tad*_*man 6

当您想要针对库进行编译时,您不仅需要库本身(通常是一个或多个.so类型文件),还需要描述库如何工作的头文件.除非您安装-dev包的版本,否则通常会省略这些:

apt-get install libsndfile-dev
Run Code Online (Sandbox Code Playgroud)

这应该为Ruby提供extconf.rb足够的信息来编译和链接该库.