【问题标题】:configure: error: Can not link to libboost_atomic配置:错误:无法链接到 libboost_atomic
【发布时间】:2017-08-10 16:46:05
【问题描述】:

我正在尝试编译一些代码。我使用

安装了boost
brew install boost

成功完成。然后我跑了

autoreconf --install

然后我就可以跑了

./configure

但是它在寻找libboost_atomic时会产生错误:

checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking whether make sets $(MAKE)... (cached) yes
checking build system type... x86_64-apple-darwin15.6.0
checking host system type... x86_64-apple-darwin15.6.0
checking for boostlib >= 1.60... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread-mt... yes
checking whether the Boost::Log library is available... yes
checking for exit in -lboost_log-mt... yes
checking for exit in -lboost_log_setup-mt... yes
checking whether the Boost::Filesystem library is available... yes
checking for exit in -lboost_filesystem... yes
checking whether the Boost::Program_Options library is available... yes
checking for exit in -lboost_program_options-mt... yes
checking whether the Boost::System library is available... yes
checking for exit in -lboost_system... yes
checking whether the Boost::Chrono library is available... yes
checking for exit in -lboost_chrono-mt... yes
checking whether the Boost::Regex library is available... yes
checking for exit in -lboost_regex-mt... yes
checking whether the Boost::Date_Time library is available... yes
checking for exit in -lboost_date_time-mt... yes
checking for main in -lboost_atomic... no
configure: error: Can not link to libboost_atomic!

在互联网上搜索并没有得到任何信息(我是该软件的用户,而不是开发人员,所以我不确定我是否正在寻找合适的条款)。

谁能告诉我我错过了什么?我需要安装更多依赖项吗?

系统为 Mac 10.11。

【问题讨论】:

    标签: c++ boost configure


    【解决方案1】:

    您缺少使用 boost atomic 库进行开发的软件包。这是在 Linux 上编译东西时的一个常见问题,您的解决方法是始终搜索库(boost atomic)和您的 linux 风格,看看会得到什么。对于基于 Debian 的系统(例如 Ubuntu),

    sudo apt-get install libboost-atomic-dev
    

    应该解决这个问题。您可能会遇到其他此类错误 - 冲洗并重复。如果一切都失败了,您可以下载源代码,然后编译并安装它: http://www.boost.org/doc/libs/1_53_0/doc/html/atomic.html

    你在那里做了说明。

    【讨论】:

    • 谢谢 - 知道我应该在 Mac 上寻找什么吗? Homebrew 似乎只有boost 而没有别的(brew install libboost-atomic-dev 不起作用)。我已经从boost.org/users/download 下载了boost 源——如果我编译并安装它,它应该安装libboost_atomic 吗?我犹豫是否继续尝试,以防我最终安装了两个相互冲突的 boost(一个通过自制软件,一个直接编译)。
    • @Gerhard 我认为应该,从描述。无论如何,在您尝试之前删除自制软件安装。然后,如果失败,您可以随时返回。
    • @Gerhard 我认为它是在 1.52 中引入的,所以也许自制版本太旧了。
    • 谢谢 - 我会试试的。供您参考,brew 安装 boost-1.64。
    • @Gerhard 那是最新的,那么奇怪。也许它在编译中缺少一个标志。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 2021-08-03
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    相关资源
    最近更新 更多