C++ unique_ptr住在哪里?

C++ unique_ptr住在哪里?,c++,macos,gcc,c++11,macports,C++,Macos,Gcc,C++11,Macports,我试图在OSX 10.6.5上使用GCC4.6.2编译一些代码(如下)。这是微不足道的;但是编译器找不到唯一的\u ptr #include <memory> int main(int argc, char** argv) { std::unique_ptr<bar> foo(new bar(0)); } 我尝试显式地包含bits/unique\u ptr,但这导致了一个错误,即GXX\u cx0x未定义。嗯?正如您在上面看到的,我显式地要求gnu++0x。我

我试图在OSX 10.6.5上使用GCC4.6.2编译一些代码(如下)。这是微不足道的;但是编译器找不到唯一的\u ptr

#include <memory>

int main(int argc, char** argv)
{
    std::unique_ptr<bar> foo(new bar(0));
}
我尝试显式地包含bits/unique\u ptr,但这导致了一个错误,即GXX\u cx0x未定义。嗯?正如您在上面看到的,我显式地要求gnu++0x。我还尝试了“-std=c++0x”,结果相同


我做错了什么?

您的命令有
-ansi
(相当于
-std=c++98
),这会覆盖
-std=c++0x
。尝试删除它

c++ main.cpp -o ./bin/main -std=gnu++0x -ansi -pedantic -Wall -Wno-long-long -Wno-deprecated -O3 -ansi -DNDEBUG  -I/usr/include -I/opt/local/include