草庐IT

ZN5boost

全部标签

c++ - Mongo C++ 客户端库没有看到我的 boost

我已经下载了Boost版本1.51,构建了它,并将它放到/usr/local/boost_1_51_0。我还下载了mongo-cxx-driver-v2.4。由于没有Makefile,我必须运行scons,因为这个项目使用的是新的python构建环境。当我运行scons时,它会检查boost_thread-mt和boost_thread,两者都返回“no”。显然,在/usr/local目录中没有看到我有boost。由于我是Make而不是scons人,我如何让mongodb构建过程看到我的boost版本?routerwc:~/mongo_proj/mongo-cxx-driver-nig

c++ - Mongo C++ 客户端库没有看到我的 boost

我已经下载了Boost版本1.51,构建了它,并将它放到/usr/local/boost_1_51_0。我还下载了mongo-cxx-driver-v2.4。由于没有Makefile,我必须运行scons,因为这个项目使用的是新的python构建环境。当我运行scons时,它会检查boost_thread-mt和boost_thread,两者都返回“no”。显然,在/usr/local目录中没有看到我有boost。由于我是Make而不是scons人,我如何让mongodb构建过程看到我的boost版本?routerwc:~/mongo_proj/mongo-cxx-driver-nig

android - 官方 "Boost library"支持安卓和iOS?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。这个问题是ShouldIchooseBoostAsioorAysncSocketthreadsinAndroid?的延续。问,Boost库旨在广泛使用,并可用于各种应用程序,但目前还没有针对Android和iOS的官方支持类似的背后有什么具体原因没有优化嵌入式设备?还是其他原因?是否有人知道在Android或iOS上使用Boost构建的任何应用程序?对

serialization - boost::serialization 序列化过程中内存消耗高

正如主题所暗示的那样,在将大量数据序列化到文件时,我遇到了boost::serialization的一个小问题。问题在于应用程序的序列化部分的内存占用大约是被序列化对象内存的3到3.5倍。重要的是要注意,我拥有的数据结构是基类指针的三维向量和指向该结构的指针。像这样:usingnamespacestd;vector>>*data;稍后将使用与此类似的代码对其进行序列化:ar&BOOST_SERIALIZATION_NVP(data);boost/serialization/vector.hpp包含在内。被序列化的类都继承自“MyBase”。现在,自从我的项目开始以来,我使用不同的文件进

c++ - 在库的公共(public)接口(interface)中使用 boost::shared_ptr

我们有一个C++库,我们提供给几个不同的客户。最近,我们从在公共(public)接口(interface)中使用原始指针切换到使用boost::sharedptr。正如您可能猜到的那样,这提供了巨大的好处,因为现在客户不再需要担心谁需要删除什么以及何时删除。当我们进行转换时,我认为这是正确的做法,但让我感到困扰的是,我们必须在我们的公共(public)界面中包含来自第三方库的东西——通常,如果可以的话,你会避免这种事情。我合理化了boost现在实际上是C++语言的一部分,我们的用例要求客户端代码和库都保存指向对象的指针。然而最近我们的一个客户问我们是否可以切换到在接口(interfac

C++ Boost Multi Index,Modify 需要 Functor,编译失败

我已经建立了一个WindowsC++VisualStudio项目(VS9)来测试Boost::Multi_Index的使用。正在设置容器以存储指向自定义对象FC::ClientOrder的共享指针。为了测试,对象很简单,只存储一个字符串和一个char变量。Boost版本是1_46_0我已将Multi_Index容器配置为索引共享指针作为标识,并且还索引两个成员变量,使用成员函数进行访问。这看起来不错,而且效果很好。不过,我的modify()方法有问题。我意识到如果我想更新作为索引一部分的任何成员变量,我必须使用modify()。我也意识到我必须首先使用find()在容器中定位FC::C

c++ - 使用带有 cmake/cpack 的 boost 库打包 c++ 程序

我编写了一个使用boost的简单c++程序,我想将它部署在具有任何linux风格(暂时)的相同架构的机器上,这些机器可能安装了也可能没有安装一些boost版本。我是部署新手,但试图阅读文档并提出一个CMakeLists.txt,它看起来像:cmake_minimum_required(VERSION2.8)project(myprog)FIND_PACKAGE(Boost1.50COMPONENTSthreadsystemchronoprogram_optionsREQUIRED)INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})add_executab

c++ - 在 Eclipse 中哪里可以找到解析的 Boost.Test 输出

已经有一个帖子here这部分回答了我的问题。在Eclipse3.7.2上,我按照那里提供的方法成功完成了创建和设置新错误解析器并将其添加到当前项目的步骤。执行我的Boost.Test(boostrel.1.48.0)单元测试后,在Eclipse控制台上,我得到的输出与未完成解析时得到的输出相同(例如,在Eclipse之外执行单元测试时(例如在Linux上)终端))。我搜索了一个新的Eclipse控制台,可以在其中显示已解析的单元测试输出(类似于Eclipse中的gcov、gprof或cppcheck等控制台),但没有发现任何相似之处。解析后的单元测试输出应该显示在哪里?如果解析的输出应

c++ - boost iostream 映射文件和 boost 进程间映射文件之间有区别吗?

我想在内存中创建一个映射的二进制文件;但是我不确定如何创建要映射到系统的文件。我多次阅读文档并意识到有2个映射文件实现,一个在iostream中,另一个在进程间。你们知道如何将映射文件创建到共享内存中吗?我试图让多线程程序读取以二进制文件格式编写的大型double组。另外iostream和interprocess中的映射文件有什么区别? 最佳答案 据我所知,iostreams会将映射文件放在共享内存中(这是您想要的);然而,interprocess将文件放在另一个进程的地址空间中。你应该使用iostreams,除非你有多个进程(不是

c++ - 从 boost::asio::io_service 中删除所有处理程序而不调用它们

我想在重用之前从IO_service中删除所有处理程序。这可能吗?我正在编写涉及asio::io_service的单元测试。在每个测试用例之间,我想从全局io_service中清除处理程序。我认为io_service::reset会这样做,但事实并非如此。reset()只允许io_service被恢复。最后一个测试用例中的所有处理程序仍在排队。我只需要为单元测试执行此操作,因此任何疯狂的hack都会起作用。更多信息:io_service来自deadline_timer成员变量。deadline_timer是我正在测试的代码的一部分,因此我无法更改它的构造方式。我通过deadline_t