我正在尝试在 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));
}
我这样编译:
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
我尝试明确包含 bits/unique_ptr 但这导致我出错,说GXX_EXPERIMENTAL_CXX0X未定义。嗯?正如你在上面看到的,我明确要求 gnu++0x。我也尝试过“-std=c++0x”,结果相同。
我究竟做错了什么?