2

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

我已按照以下步骤操作:

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

我收到错误消息:

/usr/bin/ld: cannot find -lboost_chrono

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

我正在添加

-lboost_filesystem -lboost_chrono -lboost_system 

到 C++ 编译。

有人对此有什么建议吗?任何与图书馆相关的文档对于初学者来说都是非常不透明的,我似乎无处可去。

谢谢。

4

2 回答 2

2

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

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

最简单的方法可能是按照Boost 文档中的入门说明进行操作。向下滚动一点以获取有关已编译库的部分。

于 2013-06-24T15:36:55.527 回答
2

我使用如何安装和使用 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在它正确链接之前。

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

于 2013-06-24T15:46:31.300 回答