gpt4 book ai didi

c++ - 使用带有 Clang 的 Boost 编译 C++ 项目时出现问题

转载 作者:行者123 更新时间:2023-11-30 04:33:15 24 4
gpt4 key购买 nike

我决定通过编译我的一个已经在 GCC 下编译的 c++ 项目来试用 Clang。我的项目依赖于 Boost,并且由于包含“boost/asio.hpp”clang 在使用 pedantic 标志编译时发出以下错误:

lib/boost_1_46_1/mac/boost/date_time/date_generators.hpp:37:30: error: extra ';' 
inside a class [-pedantic]

如果我想让这个项目编译,我有什么选择?我不想编辑出现此问题的各种 boost header 。

最佳答案

我只是查看了 header 内部,有问题的行是 year_based_generator() {};,这是一个普通的构造函数。所以 clang 是正确的, ; 是不必要的。

既然 -pedantic 是用来捕捉这样的东西的,我认为最好的方法是将这件事告知 boost 人员,特别是因为他们对这些分号不一致,所以这几乎不是他们编码指南的一部分。

您可以使用 pragmas 仅对有问题的 boost 库禁用它,而不是禁用整个 -pedantic。

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-pedantic"
// include boost headers
#pragma clang diagnostic pop

我认为应该可行。

关于c++ - 使用带有 Clang 的 Boost 编译 C++ 项目时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7001034/

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