草庐IT

BOOST_PP_REPEAT

全部标签

c++ - boost iostreams 断言失败

我需要能够使用单个fstream以具有平台无关的文件使用方式。特别是,我需要能够在Windows上支持带有unicode字符的文件路径,同时尽可能减少对代码的侵入以支持它。因此,boostiostreams似乎可以提供答案。然而,在尝试使用它时,我遇到了两个让我担心的失败。请参阅以下示例代码://MinGW(MSYS)//GCC4.7.2//Boost1.50.0//g++-gifstreamtest.cpp-otest.exe-I/t/tools/boost/boost_1_50_0-L/t/tools/boost/boost_1_50_0/stage/lib-lboost_syst

python - 如何使用 msvc 10.0 为 win8.1 64 位构建 boost python 3.4 共享库

我正在尝试为python3.464库构建boostpython因为我需要它们来构建http://dlib.net/python绑定(bind)我的设置如下:安装MSVC12.0python3.464位已安装我下载了最新的boost1.57我能够编译静态库,但是当我尝试链接动态库时程序失败。我的project-config.jam看起来像这样importoption;usingmsvc:10.0;usingpython:3.4:C:\\Python34;option.setkeep-going:false;为了甚至为64位编译静态库,我的bjam看起来像这样.\bjam.exe--adr

c++ - boost::core::demangle 在 vi​​sual studio typeid().name 上

我试图在Windows(visualstudio2010)上获取一个报告类类型的字符串,但没有任何成功。由于UnDecorateName不起作用,我正在使用boost库。#include#includeclassMyObject{};intmain(intargc,char**argv){MyObjecto;constchar*str=typeid(o).name();//str="classMyObject"std::stringdstr=boost::core::demangle(str);//dstr="classMyObject"return0;}我怎样才能从上面的代码中只得到

windows - Boost + Visual Studio 2010 + Windows 平台 SDK 7.1

有人能告诉我bjam的命令行开关或其他可以使VS2010使用新的Windows平台SDK7.1工具链进行boost编译的命令吗?这是您可以在普通的visualstudio项目中设置的选项。默认值为v100,它是平台7.0工具链的变体。提前致谢。 最佳答案 在你的环境中试试这个setSdkTools=c:\ProgramFiles\MicrosoftSDKs\Windows\v7.1\Bincall"%SdkTools%\SetEnv.Cmd"/xp/x86假设这是您安装了WindowsSDK的位置。信息来自here-可能还有更多工作

c++ - CoInitializeEx 用于 boost::test::unit_test

前几天,我决定需要了解Windows平台上C++的测试驱动开发(使用VisualStudio2010Premium)。在决定试用boost的单元测试框架之前,我环顾四周。我应该说我选择了boostpro.com的版本(如果我没记错的话,当前版本是1.44)。这有一个静态库的构建,所以我不在我的测试中使用DLL。Boost的单元测试文档谈到将代码与测试套件分开,这似乎很合理。但随后您必须处理从现在独立的测试套件项目中引用代码的问题。所以我有一个要测试的库项目(但我仍然不确定如何编写可以引用.exe项目的测试...)所以我在我的解决方案中创建了一个单独的项目,称为单元测试。我添加了以下代码

windows - 为什么 boost::filesystem is_directory 在作为 Windows 服务运行时返回不同的结果?

我有一些代码可以遍历目录中的文件并对非目录文件执行有用的操作,如下所示:namespacebfs=boost::filesystem;for(bfs::directory_iteratoriterDir(m_inPath);bContinue&&iterDir!=bfs::directory_iterator();iterDir++){std::stringfilename=iterDir->path().filename().string();boost::to_lower(filename);if(!bfs::is_directory(*iterDir)&&Condition2(f

windows - 在 Windows 7 上构建 Boost 1.49

我正在尝试在Windows上构建Boost。我用了this例子。因此,在执行'bjamtoolset=gcc'后,我收到以下错误:**C:/boost/tools/build/v2/tools\gcc.jam:129:ingcc.initfrommodulegccerror:toolsetgccinitialization:error:nocommandprovided,defaultcommand'g++'notfounderror:initializedfromC:/boost/tools/build/v2/build\toolset.jam:38:intoolset.usingf

c++ - 如何为代码块 13.12 编译 boost 1.55.0 到 win7(32 位)?

我已经研究了几个小时了,但在任何地方都找不到直接的答案。将boostzip内容解压到目录(放在C:\ProgramFiles\boost_1_55_0中)后,我启动命令提示符并尝试按照指示编译批处理(bootsrap.bat)。失败。消息返回:构建Boost.Build引擎'cl'不是内部或外部命令,也不是可运行的程序或批处理文件。无法构建Boost.Build引擎。请查阅bootstrap.log以进行进一步诊断。bootstrap.log显示:######Using'msvc'toolset.###C:\ProgramFiles\boost_1_55_0\tools\build\v

c++ - 启动 Boost 线程时的保证

我正在使用Boost和VisualStudio2013don'tsupportstheC++11memorymodel.启动Boost线程时是否有任何内存保证?我在JavaLanguageSpecification17.4.5中寻找保证:Acalltostart()onathreadhappens-beforeanyactionsinthestartedthread.在我的例子中,我想创建一个(非线程安全的)TCP客户端,而不是启动一个接收线程:structConnection{boost::shared_ptrclient;};autoclient=boost::shared_ptr

c++ - 在 win32::WaitForSingleObject 期间 Windows 上的 Boost.Thread 断言/崩溃

我的代码中有一个很少发生的问题会触发断言,涉及Boost.Thread库。我无法使用独立示例重现此问题,而且我也不知道是什么原因造成的,因此很难提供示例案例。我希望任何熟悉boost.thread内部结构的人都能提供帮助。这是我知道的:问题发生在boost::lock_guard(或unique_lock和普通非递归互斥锁的变体)被声明。它发生在Boost.Asio的处理函数中。堆栈上是执行io_service::run的线程,一堆调用Asio回调函数的胶水,然后是我的回调函数(由async_write调用触发)。该函数的第一行是lock_guard的声明这是导致问题的原因。this我