用Boost代替C ++ 0x库特性

时间:2011-01-08 22:59:48

标签: c++ macos boost c++11

我正在开发一个大量使用最新C ++ 0x语言和库功能的库。我主要使用gcc4.6在Linux上开发,但是想在OS X中进行测试(因为Apple制作出色的分析工具)。不幸的是,我发现OS X的任何gcc4.6附带的所有版本的libstdc ++都禁用了<thread>功能(请参阅here我的问题,关于如何解决这个问题)。

与此同时,有没有人对微创(对于我的库)有任何想法,我可以用boost的线程库替换标准的?我宁愿不求助于sed,因为我正在通过SVN分享这个项目,并希望在不强迫其他人切换到boost :: thread,boost :: mutex等的情况下检查我的更改。

1 个答案:

答案 0 :(得分:4)

这不是标准的投诉代码,因为您不允许更改命名空间std的内部,但它应该适用于大多数编译器:

#include <boost/your_headers.hpp>
namespace std {
    using boost::thread;
    using boost::mutex;
    // ...
}

其余代码不变。