boost 相关问题

Boost是一系列旨在用于C ++的高质量库。 Boost是免费的,通常被认为是“第二标准库”。

`./b2 headers` 命令

我发现自制程序中boost的构建公式是./b2标头 在./b2安装之前。 虽然提交消息提到它生成标头,但我不确定所需的具体参数。 ./b2 \...

回答 1 投票 0

C+/Boost - Signals2 无法绑定具有 1 个参数的插槽

我有这个代码: 命名空间VE { 模板 使用 VESignal = boost::signals2::signal; } 类 NodeManager { 民众: 静态 VE::VESignal 我有这个代码: namespace VE { template<typename Func> using VESignal = boost::signals2::signal<Func>; } class NodeManager { public: static VE::VESignal<void(int guid)> NodeDestroyed; } 这段代码: class Map : public VE::Nodes::VENode { public: explicit Map(VE::Nodes::VEId veid); virtual ~Map(); void Initialize() override; void RemovePlayer(int guid); } 比我这样做: void Map::Initialize() { NodeManager::NodeDestroyed.connect(boost::bind(&Map::RemovePlayer, this, _1)); } 但这并不允许我这样做。给我错误: In template: no matching function for call to object of type 'boost::_mfi::mf1<void, Map, int>' error occurred here in instantiation of function template specialization 'boost::_bi::list2<boost::_bi::value<Map *>, boost::_bi::value<std::_Placeholder<1>>>::operator()<boost::_mfi::mf1<void, Map, int>, boost::_bi::rrlist1<int>>' requested here 这是为什么?我该如何解决? 您正在将 std::placeholders::_1 与 boost::bind 混合。选择一个。 使用两者都没有问题: 住在Coliru #include <boost/signals2.hpp> #include <boost/bind/bind.hpp> #ifdef USE_BOOST_BIND using namespace boost::placeholders; using boost::bind; #else using namespace std::placeholders; using std::bind; #endif namespace VE { template <typename Func> using VESignal = boost::signals2::signal<Func>; namespace Nodes { struct VEId { int guid; }; class VENode { public: virtual ~VENode() = default; virtual void Initialize() = 0; }; } } class NodeManager { public: static VE::VESignal<void(int guid)> NodeDestroyed; }; class Map : public VE::Nodes::VENode { public: explicit Map(VE::Nodes::VEId veid); virtual ~Map(); void Initialize() override; void RemovePlayer(int /*guid*/) {} }; VE::VESignal<void(int)> NodeManager::NodeDestroyed; void Map::Initialize() { NodeManager::NodeDestroyed.connect(bind(&Map::RemovePlayer, this, _1)); } int main() { } 编译没有问题: g++ -std=c++20 -O2 -Wall -pedantic -pthread main.cpp -DUSE_BOOST_BIND g++ -std=c++20 -O2 -Wall -pedantic -pthread main.cpp

回答 1 投票 0

使用 boost log 时如何更改时间戳输出?

我正在尝试找到一种最简单的方法来更改时间戳的输出。这就是我初始化日志库的方式 boost::log::add_common_attributes(); boost::log::register_simple_formatter_factory<

回答 1 投票 0

分段错误 - boost::asio::detail::epoll_reactor::run()

我有一个简单的类,它使用 boost::asio 在另一个线程上处理回调函数的执行,并有延迟。 延迟可以重置,因此该类也可以像看门狗一样工作。 班级...

回答 1 投票 0

boost::shared_ptr boost::互斥体和复制构造函数

我需要保护对类中数据结构的访问。由于我不能拥有互斥体(因为我无法复制它),我正在考虑拥有shared_ptr 并将互斥体保留在那里。这是我的示例代码

回答 3 投票 0

取消连接是boost::asio

来自标准 SSL 客户端示例。假设我调用这个函数。 boost :: asio :: async_connect(socket_.lowest_layer(),endpoint_iterator, 升压::绑定(&SSLClient::

回答 1 投票 0

提升堆栈跟踪出空源文件和行号

我使用以下代码 #包括 #包括 #包括 // 定义自定义异常类型 结构自定义异常:std::runtime_error {

回答 1 投票 0

ASIO:co_await 可调用在链上运行

问题 我们有一些共享资源:内存池、线程不安全的 API,任您选择。我们希望通过 ASIO 链控制对所述资源的访问。所有访问资源的例程...

回答 1 投票 0

Boost 图库:子图边引用原始图边

我想要两种类型的图表(具有不同的捆绑属性,下面进行了简化)。其中一种类型用于表示另一种类型的子图,所以我希望能够映射顶点...

回答 1 投票 0

使用 boost 进行半无限积分

我正在尝试执行两个半无限积分 我有兴趣使用 Boost 来执行此积分。但是,我没有看到任何东西,odeint似乎无法处理半无限

回答 1 投票 0

即使 Boost_DEBUG 输出显示正确的路径,CMake 也无法在从源代码编译的 Boost 文件夹中找到 Boost 库

我已经使用以下命令成功使用 emscripten 构建了 boost git clone --recursive https://github.com/boostorg/boost.git --branch 1.85.0 CD增强 ./bootstrap.sh 来源 ~/emsdk/emsdk...

回答 1 投票 0

c++ boost asio 隐藏全局声明警告

我在头文件中使用了boost/asio.hpp, 我在asio中使用类的私有变量声明类(例如:boost::asio::ip::tcp::socket套接字),然后当我用这个头文件编译我的程序时,t...

回答 1 投票 0

CMake - 某些 boost 版本的补丁(复制)文件

Ubuntu 22.04 附带的 C++ Boost 1.74 具有与 C++20 不兼容的代码。在声明构建之前,我需要复制一个可用的备用文件。 以下是sni...

回答 1 投票 0

Boost Python C++ boost::python::list 输入 Python 参数类型与 C++ 签名不匹配

创建了一个测试函数来测试 Boost Python 是否可以将 Python 列表传递给 C++ 方法。但是,它会导致以下错误: Boost.Python.ArgumentError:boost_cpp 中的 Python 参数类型。

回答 1 投票 0

boost asio UDP 套接字收到“Netork 无法访问”错误。可以恢复吗?

我正在使用UDP套接字的boost包装器与远程服务器通信。这是该套接字的初始化流程(为了便于阅读,省略了错误处理。) std::shared_ptr 我正在使用 UDP 套接字的 boost 包装器与远程服务器进行通信。这是该套接字的初始化流程(为了便于阅读,省略了错误处理。) std::shared_ptr<boost::asio::ip::udp::socket> socket socket = std::make_shared<boost::asio::ip::udp::socket>(ioctx); socket->open(boost::asio::ip::udp::v4(), ec); boost::asio::ip::address server = boost::asio::ip::make_address( server_ip, ec); boost::asio::ip::udp::endpoint endpoint(server, port); socket->connect(endpoint); 初始化后,我从套接字读取数据,在极少数情况下,我会看到“网络无法访问”错误代码,该代码不是套接字接收系统调用的一部分。 auto bytes = socket->receive( boost::asio::buffer(packet->get_pkt(), packet->get_buffer_size()), 0, --> ec); 所以我想知道boost库是否在包装器中添加了这个错误,以及我是否可以继续使用这个套接字或者必须重新创建连接。 谢谢! 因此,network_unreachable(ENETUNREACH或9916)永远不会在Boost代码中显式引发。 如果你使用的是 Windows,它可能是从 翻译过来的 0x2742 由 ::GetLastError() 返回。我假设您使用的是 POSIX,因为您提到了系统调用。 WSAENETUNREACH_ 翻译为 error_condition 唯一明确提及该错误的地方是在 complete_iocp_connect 中,它翻译了 IOCP 特定错误。 目的地无法到达 此 ICMP 文档页面 阐明: 总结:网络不可达 指定的目标地址是否是有效的网络? 路由器的链路是否已发送网络不可达消息? 路由器中的端口是否配置了正确的地址掩码值? [...] 总结:主机无法访问 您可以放心,干预通信基础设施运行正常。 指定的目标地址是主机的正确地址吗? 主持人当前在线且活跃吗? 目标网络是否存在任何物理问题。 UDP 在概念上与 ICMP 非常相似(因为它们是同一层上的数据报协议)。我强烈建议您阅读整个链接页面,因为它为您提供了许多现实生活场景,这些场景通常会导致报告特定的错误情况。 总结 系统调用将返回 ENETUNREACH。发生这种情况的条件是当您的地址/掩码隐含的接口(暂时)未(正确)配置时。查看某些系统进程是否导致周期性网络变化。

回答 1 投票 0

无法从源代码构建图形增强库

我正在尝试使用 emscripten 从源代码构建 Boost。 我的一个可执行 CMake 项目依赖于以下 boost 库: 提升::提升 提升::文件系统 升压::程序选项

回答 1 投票 0

如何在动态容器中锁定可变数量的互斥锁?

类似问题: 使用 std::vector 调用 std::lock () 使用 std::lock_guard 数组锁定 std::mutex 数组 概括: 第二个显示锁定静态大小的数组,并且...

回答 1 投票 0

将 C++ lambda 函数转换为 boost 中的类方法函数

我是一名自学成才的 C++ 程序员,试图学习更多知识。 我正在尝试修改位于此处的 boost ssl 示例: https://www.boost.org/doc/libs/1_82_0/doc/html/boost_asio/example/cpp...

回答 1 投票 0

具有不同调用顺序的 boost::dynamic_bitset 的 [] 运算符的计算时间存在差异

我发现在 AWS EC2 实例(Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz)上调用 boost::dynamic_bitset 的 [] 运算符的计算时间存在变化。在下面的代码中,当

回答 1 投票 0

Boost R-tree - 如何有效地采样随机元素

我正在使用 boost 库 R 树将值存储在 2D 空间中。我正在尝试找到一种方法来有效地从 R 树中采样随机值。 到目前为止我已经尝试了2种方法来做到这一点,都有

回答 1 投票 0

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