[choreonoid-users-ja 00124] Re: (OSX10.9)unknown type name 'shared_ptr'
東俊光
thigashi @ me.com
2014年 2月 7日 (金) 23:03:28 JST
産総研 中岡様,
お世話になります.東です.
失礼しました.
結果をご報告すべきでした.
中岡さんからご教示頂いた内容で,問題無く最後までビルドすることが出来,
choreonoidが動作するところまで確認できました.
ありがとうございます.
shared_ptrの前にboostを付けることで;
[ 9%] Building CXX object src/Util/CMakeFiles/CnoidUtil.dir/VRMLParser.cpp.o
/Users/east/programming/choreonoid-1.4.0/src/Util/VRMLParser.cpp:374:9: error:
unknown type name 'shared_ptr'
shared_ptr<EasyScanner> topScanner;
^
/Users/east/programming/choreonoid-1.4.0/src/Util/VRMLParser.cpp:374:19: error:
expected member name or ';' after declaration specifiers
shared_ptr<EasyScanner> topScanner;
~~~~~~~~~~^
/Users/east/programming/choreonoid-1.4.0/src/Util/VRMLParser.cpp:380:33: error:
reference to 'shared_ptr' is ambiguous
typedef map<VRMLProto*, shared_ptr<EasyScanner> > ProtoToEntityS...
にかんするコンパイルエラーは出なくなりました.
同様にmake_shared, ref, functionについても,boost前につけて
boost::make_shared, boost::ref, boost::functionと修正する
ことで,コンパイルエラーは出なくなりました.
助かりました.ありがとうございます.
また,LinkGroup.hのエラーメッセージについても;
> とりあえず、
> #include <vector> の後にでも、
> #include <string> を追加して試してみてください。
とすることでコンパイルエラーは出なくなりました.
shared_ptrがboostとstdで干渉しているために,using namespace boost
と記入しても名前解決が出来なかったわけですね.
C++11の設定を有効にしていなくてもstdの中に入っているとは,設定が
面倒になってしまうような気がします.(素人意見)
ご教示頂き,ありがとうございました.
P.S.
あと,もう一つ質問がありますので,別のサブジェクトにして質問させて
頂こうと思います.ご容赦下さい.
東.
------------------------------------------------
東 俊光
thigashi @ me.com
------------------------------------------------
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://choreonoid.org/pipermail/choreonoid-users-ja/attachments/20140207/e87646dd/attachment-0001.html>
choreonoid-users-ja メーリングリストの案内