我正在尝试使用boost_chrono为C ++获取精确的时间戳,但由于某些原因我无法将boost_chrono库链接起来。
我已按照以下步骤操作:
sudo ./bjam
。/usr/lib
文件夹中,因此运行sudo apt-get install libboost-all-dev
。/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 ++编译。
有人对此有任何建议吗?任何与库相关的文档对于初学者来说都是非常不透明的,而且我似乎没有任何进展。
感谢。
答案 0 :(得分:2)
你的apt-get安装可能没有你想要的,因为它安装了Boost的系统软件包,这可能太旧了,不能包含Chrono,这是最近的。
至于另一个,我不确定什么bjam没有任何参数确切,但它不做安装;因为你必须打电话给./bjam安装。
最简单的方法可能就是关注Boost文档中的Getting Started instructions。向下滚动一下以获得有关已编译库的部分。
答案 1 :(得分: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
。
感谢那些帮助过的人,非常感谢。