gpt4 book ai didi

c++ - 让 Chrono C++ 库 (Boost::sandbox) 工作

转载 作者:太空狗 更新时间:2023-10-29 23:09:38 25 4
gpt4 key购买 nike

我想试试 Chrono来自 Boost 沙箱。它似乎支持很多东西并且应该是稳定的。

我在我的系统上安装了 1.44 版本的 Boost(包括需要的 boost_system 库)并使用了沙盒版本(下载版本较旧并且缺少 ratio.hpp 文件)。

但它没有编译。尝试编译文档中的简单示例,并链接 boost_system(在带有 LIBS=['boost_system'] 的 scons 中),每次都会发生以下错误:

obj/main.o: In function `main':
/home/***/src/main.cpp:34: undefined reference to `boost::chrono::system_clock::now()'
scons: building terminated because of errors.

这似乎是一个链接器错误。我做错什么了?我在版本 1.44 中链接了 boost_system(通过 scons)并且已经尝试过与旧版本 1.40 相同。

有什么建议吗?你是如何设置你对 chrono 的使用的?

谢谢。

萨沙

编辑: This thread ,这是在谈论兼容性问题,让我认为Chrono的沙盒版本应该可以与boost 1.44一起使用。

最佳答案

Installing Chrono 中所述文档,您需要构建和链接 Chrono 库,或者定义 BOOST_CHRONO_INLINED

我在从 trunk checkout 构建 Chrono 时遇到了问题,但这可能与 Chrono 文档中提到的 type_traits 不兼容有关。

我能够使用以下 SConstruct 构建示例程序(在修复命名空间错误之后):

env = Environment(
CPPDEFINES = ['BOOST_CHRONO_INLINED'],
CPPPATH = ['/.../boost_1_44_0', ],
LIBPATH = ['/.../boost_1_44_0/stage/lib', ],
LIBS = ['boost_system'],
)

env.Program('chrono-test', 'main.cpp')

关于c++ - 让 Chrono C++ 库 (Boost::sandbox) 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4409928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com