0

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」も試してみましたが、同じ結果が得られました。

私は何を間違っていますか?

4

1 に答える 1

10

あなたのコマンドには-ansi(と同等-std=c++98) があり、これは をオーバーライドします-std=c++0x。削除してみてください。

于 2012-08-20T03:53:18.297 に答える