C++ 如何强制MinGW使用tr1名称空间?

C++ 如何强制MinGW使用tr1名称空间?,c++,gcc,c++11,mingw,tr1,C++,Gcc,C++11,Mingw,Tr1,我使用的是mingw4.5.2,我希望使用tr1名称空间中的无序_映射,而不是通过传递-std=c++0x启用的std名称空间中的映射。我确信这是可以做到的,因为有两个无序的映射文件,其中一个在tr1子目录中 澄清: 我还使用msvc10编译了这段代码,它在两个名称空间中都支持无序的_映射,但只在一个位置支持。因此,我希望使用两个编译器进行编译,并尽可能减少更改。包括并使用std::tr1::unordered\u map 编辑: 我还使用msvc10编译了这段代码,它在两个名称空间中都支持它,

我使用的是mingw4.5.2,我希望使用tr1名称空间中的无序_映射,而不是通过传递-std=c++0x启用的std名称空间中的映射。我确信这是可以做到的,因为有两个无序的映射文件,其中一个在tr1子目录中

澄清: 我还使用msvc10编译了这段代码,它在两个名称空间中都支持无序的_映射,但只在一个位置支持。因此,我希望使用两个编译器进行编译,并尽可能减少更改。

包括
并使用
std::tr1::unordered\u map

编辑:

我还使用msvc10编译了这段代码,它在两个名称空间中都支持它,但只在一个位置支持它。因此,我希望使用两个编译器编译它,并尽可能少地进行更改

要使用这两种编译器进行编译,可以使用以下方法:

#如果定义(_MSC_VER)和&_MSC_VER>=1600
#包括
#否则
#包括
#恩迪夫

这不是很简单吗

#include <tr1/unordered_map>
#包括

是的,我们就是这么做的,但我希望MinGW能给我一些神奇的定义。但现在这已经足够好了。