インクルード ヘッダーから make_shared が見つからない理由がわかりませんstd::memory or std::tr1
。
マシンに gcc のバージョンが 1 つしか表示されない
ls -lh /usr/bin/g++
lrwxrwxrwx 1 root root 7 Sep 22 2012 /usr/bin/g++ -> g++-4.7
そして-std=c++11
、プロジェクトビルドプロパティでもタグを使用しています
私の環境:ubuntu ecplise juno R2 CDT
#include <memory>
#include <tr1/memory>
int main()
{
std::tr1::shared_ptr<int> t = std::tr1::make_shared<int>(1);
std::shared_ptr<int> t = std::make_shared<int>(1);
}
アップデート:
Eclipse コンソール ウィンドウのビルドは、実際には成功したことを示していますが、コード エディターでは、shared_ptr と make_shared に赤い下線が引かれています。インデックスを再構築し、プロジェクトをクリアしようとしました。エラーを取り除くことはできません。助言がありますか?
16:15:09 **** Incremental Build of configuration Debug for project test ****
make all
Building target: test
Invoking: GCC C++ Linker
g++ -o "test " ./main.o
Finished building target: test
16:15:09 Build Finished (took 328ms)
更新 2:
以下のリンクは私の問題を解決 しました Eclipse CDT (Juno/Kepler/Luna) インデクサーで C++11 を有効にします