0

我目前正在使用 Fedora 20 x86_64。我用这些命令构建了 libsndfile:

sudo ./configure BASE_FLAGS=-32
sudo make
sudo make install

这一切都很顺利,我可以在 /usr/local/lib 中找到编译好的库。我想在 32 位构建的应用程序中使用它。当我尝试编译该应用程序时会出现问题。我收到以下错误:

/usr/bin/ld: skipping incompatible /builddir/Code/Platformer/../Dependencies/libsndfile/lib/Linux/libsndfile.so when searching for -lsndfile  
/usr/bin/ld: skipping incompatible /builddir/Code/Platformer/../Dependencies/libsndfile/lib/Linux/libsndfile.a when searching for -lsndfile
/usr/bin/ld: cannot find -lsndfile

“跳过不兼容”可能表明我在编译 sndfile 时做错了,但由于我对此很陌生,所以我找不到它是什么。我尝试了不同的配置,但它们都有相同的结果。

如果这需要更多代码或其他内容,请告诉我您需要什么。

4

1 回答 1

0

对于任何有同样问题的人 - 尝试看这里:

ld 找不到现有的库

通常可能缺少符号链接,因为未安装“-devel”库。这就是为什么

sudo yum install libsndfile-devel.*

为我修好了。

于 2015-12-16T14:14:01.720 回答