configuration:错误:找不到boost.filesystem库

所以我试图通过这个github安装ncmpcpp,第一步是运行sh autogen.sh脚本。 我遇到了一些缺失的库等,但是我已经能够安装它们并继续前进。 我已经做了一些search,并安装了一些我认为有助于解决的事情,但无济于事。

sudo apt-get install libboost1.55-all-dev

sudo apt-get install libboost-system-dev

sudo apt-get install libboost-system1.54-dev

sudo apt-get install libboost1.54-dev

sudo apt-get install libboost-filesystem-dev

sudo apt-get install libboost-filesystem-dev libboost-thread-dev

事实是,我对Boost还是不够了解,或者我错过了自己修复它的方法。

这是问题开始的地方:

检查升压/ filesystem.hpp …是的

检查主要in -lboost_filesystem-mt …不

configuration:错误:找不到boost.filesystem库

编辑:这是在config.log文件中'-lboost_filesystem-mt'的周围行。

configuration:15510:检查-lboost_filesystem-mt中的main

configure:15529:g ++ -o conftest -g -O2 -std = c ++ 0x conftest.cpp -lboost_filesystem-mt&5

/ usr / bin / ld:找不到-lboost_filesystem-mt

collect2:错误:ld返回1退出状态

configuration:15529:$? = 1

configuration:失败的程序是:

| / * confdefs.h * /

…然后继续描述confdefs.h文件。

configure.ac删除这些链接(“设置boost环境”一节):

 AS_IF([test -z "${BOOST_LIB_SUFFIX+x}"], [BOOST_LIB_SUFFIX=-mt]) AC_ARG_VAR([BOOST_LIB_SUFFIX], [Boost library name suffix [default=-mt]]) 

很久以前,Boost库曾经有一个-mt后缀来表示它们是多线程感知的。 Debian / Ubuntu在几年前就下降了。 也许其他发行版保留它。 在任何情况下,Boost库的名称从来都不是非常标准化的,这就是为什么configure脚本经常试图处理它们,通常是以破碎的方式处理它们。

你可以删除这两行或者像这样调用它:

 $ BOOST_LIB_SUFFIX="" ./autogen.sh 

正确的解决方法是将脚本转换为使用Autoconf存档中的Boost宏。