我需要构建boost才能使用正则表达式库.我能够使用bootstrap.sh创建bjam,如下所示:
./bootstrap.sh --with-toolset=mingw
Run Code Online (Sandbox Code Playgroud)
注意 - 如果我省略了--with-toolset = mingw参数编译失败 - bootstrap找不到wait.h,resource.h,ar.h.使用mingw工具集参数,bjam能够编译.然后我运行bjam并得到:
./bjam.exe mingw.jam: No such file or directory e:/libraries/boost_1_45_0/tools/build/v2/build\toolset.jam:38: in toolset.using rule mingw.init unknown in module toolset. e:/libraries/boost_1_45_0/tools/build/v2/build\project.jam:881: in using project-config.jam:12: in modules.load e:/libraries/boost_1_45_0/tools/build/v2\build-system.jam:257: in load-config e:/libraries/boost_1_45_0/tools/build/v2\build-system.jam:423: in load-configuration-files e:/libraries/boost_1_45_0/tools/build/v2\build-system.jam:554: in load e:\libraries\boost_1_45_0\tools\build\v2/kernel\modules.jam:283: in import e:\libraries\boost_1_45_0\tools\build\v2\kernel\bootstrap.jam:142: in boost-build e:\libraries\boost_1_45_0\boost-build.jam:17: in module scope
我尝试了几种参数变量并得到了同样的错误:
./bjam.exe --build-dir=e:/libraries/boost_1_45_0/ --toolset=mingw ./bjam.exe --build-dir=e:/libraries/boost_1_45_0/ --toolset=gcc
不知道如何让bjam构建.有什么建议?
我尽量避免在我的C++中使用"使用命名空间"来避免污染我的命名空间.但是,我想利用boost赋值运算符来做这样的事情:
std::vector tmp; tmp += "abc","def","asdf","foo","blah","dfkef";
不添加"using namespace boost :: assign;" 这会产生错误:
error: no match for 'operator+=' in 'tmp += "abc"'
有没有办法在不使用命名空间的情况下在boost中使用这些运算符?