[openrtm-users 03373] Re: 二項演算子 '<<=' でコンパイルエラー

Ando Noriaki n-ando @ aist.go.jp
2017年 2月 13日 (月) 20:53:40 JST


升谷先生

安藤です

先ほどお伝えした解決方法ですが、問題は別のところにありそうです。
#ちなみに、先ほどの config_rtc.h の変更は戻していただいた方がよいです。

おそらく、コンポーネントをビルドするためのCMakeFile内で
OpenRTMのCMake用設定ファイルがインクルードされていないか
そのファイルによる設定が無効になってしまっているように思います。

通常、RTコンポーネントのフォルダのトップにある CMakeLists.txt の中で

find_package(OpenRTM ....

という行があると思うのですが、これがなくなってたりしませんでしょうか?

find_package で
C:\Program Files (x86)\OpenRTM-aist\1.1.2\bin\vc14\OpenRTMConfig.cmake
というOpenRTMでRTCをビルドするための設定用Cmakeファイルを
取り込んで、コンパイラ・リンカに渡す諸々の設定が定義されております。

これがないと、ヘッダのインクルードパスが設定されなかったり、必要なDefineが
なされなかったりするので先ほどのようなエラーが出ます。


以上、よろしくお願いいたします。



2017年2月13日 18:29 MASUTANI Yasuhiro <masutani @ osakac.ac.jp>:

> 安藤様,
>
> 早々に返信ありがとうございます.
>
> config_rtc.hを教えていただいたとおりに書き換えることにより,
> rtm/CorbaPort.h の問題はなくなりました.
>
> しかし,
>
>   C:\Program Files\OpenRTM-aist\1.1.2\rtm/OutPort.h(216): error C2678:
> 二項演算子 '<<=' : 型 'CORBA::Any' の左オペランドを扱う演算子が見つかりません (または変換できません) (新しい動作;
> ヘルプを参照)。
>
> で始まる大量のエラーが出てしまい,また困っています.
>
> 対処法はありますでしょうか?
>
> On Mon, 13 Feb 2017 18:18:01 +0900,
> Ando Noriaki <n-ando @ aist.go.jp> wrote:
> >
> > すみません、旧バージョンのomniORB用の設定が残っていたようです。
> > 原因は調査中ですが、とりあえず、
> > C:\Program Files\OpenRTM-aist\1.1.2\rtm\config_rtc.h というファイル内の
> >
> > /* #undef RTC_CORBA_CXXMAPPING11 TRUE */
> > を
> > #define RTC_CORBA_CXXMAPPING11 TRUE
> >
> > に書き換えて試してみていただけないでしょうか?
>
> --
> # 升谷 保博
> # 大阪電気通信大学 総合情報学部 情報学科
> # 575-0063 大阪府四條畷市清滝1130-70 / TEL&FAX: 072-876-5107
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.openrtm.org/pipermail/openrtm-users/attachments/20170213/b85f6bd1/attachment.html>


More information about the openrtm-users mailing list