【问题标题】:Boost_chrono lib not being installed未安装 Boost_chrono 库
【发布时间】:2013-06-24 15:27:36
【问题描述】:

我正在尝试使用 boost_chrono 获得 C++ 的精确时间戳,但是由于某种原因我无法链接 boost_chrono 库。

我已按照以下步骤操作:

  1. 已下载 boost 1.53.0
  2. 解压文件,并在文件夹的根目录中运行sudo ./bjam。
  3. 不知道这些库放在哪里,它们不在我的/usr/lib 文件夹中,所以运行sudo apt-get install libboost-all-dev。
  4. Boost 库现在位于 /usr/lib 中,但 boost_chrono 不存在。

我收到错误:

/usr/bin/ld: cannot find -lboost_chrono

libboost_chrono.a 在boost_1_53_0/stage/lib 和boost_1_53_0/bin.v2/libs 中,但将它们添加为库搜索路径并没有帮助。

我正在添加

-lboost_filesystem -lboost_chrono -lboost_system 

到 C++ 编译。

有人对此有什么建议吗?这么多与库相关的文档对于初学者来说是非常不透明的,我似乎没有得到任何结果。

谢谢。

【问题讨论】:

  • 你检查 /usr/local/lib 了吗?

标签: c++ boost chrono


【解决方案1】:

您的 apt-get install 可能没有执行您想要的操作,因为它安装了用于 Boost 的系统包,它可能太旧而无法包含最近的 Chrono。

至于另一个,我不确定没有任何参数的 bjam 究竟是做什么的,但它不会进行安装;为此,您必须调用 ./bjam install。

最简单的方法可能是遵循 Boost 文档中的 Getting Started instructions。向下滚动一点,进入关于编译库的部分。

【讨论】:

    【解决方案2】:

    我使用以前没有找到的 How to Install and Use Boost? 让它工作:

    " 我使用建议的命令安装了 boost:

    $ cd boost_1_53_0
    $ ./bootstrap.sh --prefix=/usr/local
    $ sudo ./b2 --prefix=/usr/local install
    

    "

    Boost 然后成功安装到/usr/local,我包含/usr/local/include 并添加了库搜索路径/usr/local/lib。

    重要的是,我需要 sudo ldconfig 才能正确链接。

    感谢帮助过的人,非常感谢。

    【讨论】:

      猜你喜欢
      • 2015-01-05
      • 2018-04-30
      • 2013-11-04
      • 2021-07-08
      • 2012-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多