草庐IT

ZN5boost

全部标签

c++ - 在 Windows 上将 Boost 库与 Boost_USE_STATIC_LIB OFF 链接

我的CMakeFiles.txt看起来像这样:cmake_minimum_required(VERSION2.6)#SetwarningsonandenabledebuggingSET(CMAKE_C_FLAGS"-Wall-q")include(FindBoost)set(Boost_USE_STATIC_LIBSON)set(Boost_USE_MULTITHREADEDON)set(Boost_USE_STATIC_RUNTIMEOFF)find_package(Boost1.57.0COMPONENTSsystemfilesystemREQUIRED)if(Boost_FOUN

c++ - 如何使用较旧的 C++ 标准编译 Boost? (特别是 C++03)

我在一个依赖于Boost(http://kratos-wiki.cimne.upc.edu/index.php/Main_Page)的项目中工作,这个项目目前只支持C++03。随着gcc++(v.5)的最新更新,C++11已成为默认标准,技术上我解决了修改CXX_FLAGS添加的问题:-std=c++03问题来自Boost库,我无法使用C++03std对其进行编译(我想,我不知道如何检查我编译的是哪个std)。我尝试使用以下命令来编译Boost:./b2installstage--with-python--with-serializationcxxflags="-std=c++03"我

c++ - BOOST_PP_SEQ_FOLD_LEFT 是如何工作的?

我需要编写一个宏来处理任意长的列表,例如(A)(B)(C)。如果我可以采用Boost依赖项,我将只使用BOOST_PP_SEQ_之一宏系列。不幸的是,我不能,所以我只能尝试弄清楚它是如何工作的。这东西并不明显。这里有人能写一个简单的、独立的实现吗,比方说,BOOST_PP_SEQ_FOLD_LEFT给我看看?特别是,我想转换:template_(classA,classB,classC)(requiresIsFoo&&IsBar)(requiresIsBaz)voidfrobozzle(A,B,C);重写为:template&&IsBar),int>=0,std::enable_if_

c++ - boost::variant 的访客模板

我想使用boost.variant作为模板“访问者”类的参数,该类将根据boost.variant访问者机制的要求提供访问者操作符,在这种情况下,所有返回无效,即voidoperator()(T0value);voidoperator()(T1value);voidoperator()(T2value);该模板还将为每个类型T0...在变体中有一个相应的虚函数,默认情况下不执行任何操作。用户可以从模板类继承并只重新定义他感兴趣的虚函数。这类似于众所周知的“模板方法”模式。我能够想出的唯一解决方案是将boost::variant和关联的访问者包装在一个模板中,并通过typedef访问它们

c++ - boost::split 在字符串的开头和结尾留下空标记——这是期望的行为吗?

因为我在documentation中找不到任何关于此的信息,我以为我在这里问。我有以下程序(C++11):#include#includeusingnamespacestd;usingnamespaceboost;intmain(){stringtmp="#tag#tag1#tag2#tag3####tag4";list>matches;split(matches,tmp,is_any_of("\t#"),token_compress_on);for(automatch:matches){cout输出是:'''tag''tag1''tag2''tag3''tag4'''我原以为toke

c++ - boost使用c++11有多好?

Boost本质上是一个c++03库(刺激了c++11标准)。我正在考虑使用一些boost库(那些未在c++11中实现的库)。如果我使用的是c++11,是否会进行boost编译(不可复制但可移动的对象可能存在问题)?以及boost如何很好地利用c++11特性(可变参数模板是[一些boost库]使用的明显的东西,而不是大部分boostMPL)?(我在boost常见问题解答中找不到这个)。 最佳答案 Boost正朝着使用C++11特性的方向发展。但要记住的一件事是,boost不是“一个库”,而是一个库的集合。其中一些(例如boost::a

c++:Boost 1.48 类型特征和 Cocoa 包含怪异

我刚刚将我在OSXLion上开发的项目更新到版本1.48.0,该项目还包括Cocoaheader。这样做之后,我得到了一大堆错误,它们都指向has_prefix_operator.hpp和has_binary_operator.hpp,它们都指向如下行:BOOST_STATIC_CONSTANT(bool,value=(sizeof(check(((make()BOOST_TT_TRAIT_OPmake()),make())))==sizeof(::boost::type_traits::yes_type)));../../boost_1_48_0/boost/type_traits/

c++ - boost 单元测试主要功能?

在使用boost进行测试时,如何定义自己的main()函数?Boost使用它自己的main函数,但我使用的是自定义内存管理器,它需要在分配任何内存之前进行初始化,否则我会出错。 最佳答案 我不相信你真的需要你自己的主。我认为globalfixture你会过得更好:structAllocatorSetup{AllocatorSetup(){/*setupyourallocatorhere*/}~AllocatorSetup(){/*shutdownyourallocator/checkmemoryleakshere*/}};BOOST

c++ - boost 私有(private)成员的互斥奇怪错误

我有一个奇怪的错误。classINST{public:boost::mutexm_mutex;};std::vectorm_inst;错误C2248:“boost::mutex::mutex”:无法访问在类“boost::mutex”中声明的私有(private)成员参见“boost::mutex::mutex”的声明但是,我的其他类没问题,classVIEW{public:boost::mutexm_mutex;};VIEWm_view;我是不是漏掉了什么?我已经尝试将m_mutex声明为私有(private),但仍然有同样的问题。谢谢。 最佳答案

c++ - boost "no such file or directory"

我正在尝试在一台新计算机上设置我的Code::Blocks工作环境,但我遇到了一些问题。我第一次这样做已经有很长时间了,现在当我打开我的主要项目时,Boost给我带来了问题。我对C++还是很陌生,解决这类问题我的经验有限。当我打开我的项目并尝试编译它时,我得到了这个错误:fatalerror:boost/algorithm/string.hpp:Nosuchfileordirectory|在我的一个头文件的这一部分:#include我将Boostv1.51.0库放在C:\boost,因为这是我在其他计算机上的位置。我的项目设置为在该目录中搜索其他包含项,但它似乎没有找到文件?我的项目之