QT Creator 13 中的 Boost Beast 1.84 服务器示例和 clangd 警告

问题描述 投票:0回答:1

当我将以下原始 boost bread 1.84.0 服务器示例加载到我的 IDE QT Creator 13.0 (C++20) 中时,我收到 clang-tools 17.0.1 的以下警告。我该如何修复/解决这个问题,这是将修复的 boost 库/示例中的错误/警告吗?

示例: https://www.boost.org/doc/libs/1_84_0/libs/beast/example/advanced/server/

原始示例文件中第 167 行的警告(我的行在 161 中有所不同):

编译器调用:
/usr/bin/x86_64-linux-gnu-g++-13 -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_NO_LIB -isystem /home/xxx/projects_cpp/boost_beast_server/extlibs/boost/include -O3 -DNDEBUG -std=c++20 -fdiagnostics-color=总是-Wall -Wextra -Wconversion -Wsign-conversion -Wfloat-equal -Wunreachable-code -Wunused-variable -Wshadow -Wcast-align -Werror -MD -MT CMakeFiles/BoostBeastServer.dir/main.cpp.o -MF CMakeFiles/ BoostBeastServer.dir/main.cpp.o.d -o CMakeFiles/BoostBeastServer.dir/main.cpp.o -c /home/xxx/projects_cpp/boost_beast_server/main.cpp

c++ boost qt-creator boost-beast clangd
1个回答
0
投票

@AlanBirtles 的分析很准确,该警告是由于 Boost Core 内部的草率转换造成的

std::string_view
。请注意,除非您可以处理长度超过 2^63 个字符的字符串,否则这不是一个真正的问题。

您可以像 https://github.com/sehe/core/commit/0d757123f136aff8f8ebed2c876ce7a2ccd28445 那样创建 PR,或者只是报告问题。

另一个解决方案是使包含成为系统包含,这使得警告保持沉默。

© www.soinside.com 2019 - 2024. All rights reserved.