配置:错误:找不到 boost.filesystem 库

Posted

技术标签:

【中文标题】配置:错误:找不到 boost.filesystem 库【英文标题】:configure: error: no boost.filesystem library found 【发布时间】:2014-08-09 20:28:29 【问题描述】:

所以我试图通过这个github 安装ncmpcpp,第一步是运行sh autogen.sh 脚本。我遇到了一些缺少的库等,但我已经能够安装它们并继续前进,直到现在。我进行了一些搜索并安装了一些我认为有助于修复它的东西,但无济于事。

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 的了解不够,或者我缺少什么来自行修复它。

这就是问题的开始:

正在检查 boost/filesystem.hpp...是的

检查 -lboost_filesystem-mt 中的 main...否

编辑:这里是 config.log 文件中“-lboost_filesystem-mt”的周围行。

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

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

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

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

配置:15529:$? = 1

配置:失败的程序是:

| /* confdefs.h */

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

【问题讨论】:

为什么要同时安装 boost-1.55 和 boost-1.54?无论如何,请在 config.log 中查看详细报告。在那里搜索单词“error”或-lboost_filesystem-mt 如果你用sudo apt-get install libboost-all-dev安装所有boost文件没问题 @n.m.因为第一个不起作用,所以我尝试了另一个。我将在 org.xml 中添加周围的行。问题。 @prajmus 这样做没用。 【参考方案1】:

configure.ac 中删除这些链接(“设置增强环境”部分):

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

正确的解决方法是将脚本转换为使用来自 the Autoconf Archive 的 Boost 宏。

【讨论】:

谢谢!现在遇到其他错误,但这确实解决了我的问题。 Doumo-arigatou! 下一个错误可能是你需要 libncursesw5-dev :) 检测普通的 libncurses 似乎也坏了。

以上是关于配置:错误:找不到 boost.filesystem 库的主要内容,如果未能解决你的问题,请参考以下文章

Ejabberd 配置:错误:找不到 libyaml 库

配置错误:在 Mac OS Sierra 上找不到 libevent

如何修复在番石榴错误中找不到的配置

错误配置:找不到 XML 模式命名空间的 Spring NamespaceHandler

配置:错误:找不到 boost.filesystem 库

配置 Oprofile 时出现“找不到 bfd 库”错误