C++11 を使用しようとしていますが、Eclipse で問題が発生しています。私は macports を使用して gcc48 を取得し、Eclipse でthis、thisなどの新しいコンパイラを使用するためのさまざまなガイドに従いました。また、コンパイラ コマンドを Eclipse 標準から g++-mp-4.8 に変更しました。ここで説明したように
次のプログラムをビルドしようとしています。
#include <iostream>
#include<memory>
using namespace std;
int main() {
std::unique_ptr<double> ptr(new double);
*ptr = 11.345;
cout << (*ptr) << endl;
return 0;
}
ターミナルはこれをうまくコンパイルします。
make all
Building file: ../src/C++11.cpp
Invoking: Cross G++ Compiler
/opt/local/bin/g++ -I/opt/local/bin -I/opt/local/include -O0 -g3 -Wall -c -fmessage-length=0 -std=c++0x -MMD -MP -MF"src/C++11.d" -MT"src/C++11.d" -o "src/C++11.o" "../src/C++11.cpp"
Finished building: ../src/C++11.cpp
Building target: C++11
Invoking: Cross G++ Linker
g++ -o "C++11" ./src/C++11.o
Finished building target: C++11
プログラムは期待どおりに実行されます。ただし、Eclipseでは、まだエラーメッセージが表示されますSymbol 'unique_ptr' could not be resolved
。
Eclipse を単なるプロジェクト マネージャーやメイクファイル ビルダー以上のものとして使用し続けたいと考えています。