unique_ptr住哪儿?

Dan*_*iel 0 c++ macos gcc macports c++11

我正在尝试使用OSX 10.6.5上的gcc 4.6.2编译一些代码(下面).这是微不足道的; 但是编译器找不到unique_ptr.

#include <memory>

int main(int argc, char** argv)
{
    std::unique_ptr<bar> foo(new bar(0));
}
Run Code Online (Sandbox Code Playgroud)

我编译如下:

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 
Run Code Online (Sandbox Code Playgroud)

我试着明确地包括bits/unique_ptr,但这导致我错误地说GXX_EXPERIMENTAL_CXX0X未定义.咦?如上所示,我明确要求gnu ++ 0x.我也试过"-std = c ++ 0x",结果相同.

我究竟做错了什么?

Man*_*rse 10

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