開発版のソースコードは既にGitHubで公開しています。
throwに関するWarningはmasterのソースコードでは修正済みですが、1.2のブランチのソースコードに関しては修正は行わない方針です。このため1.2.1をリリースした場合でもWarningは解決しない予定です。
2.0.0-RELESE | Download page |
RT-Component | 154 |
RT-Middleware | 35 |
Tools | 23 |
Documentation | 2 |
Motion editor/Dynamics simulator
Dynamics simulator
Integrated Development Platform
RT-Components collection by AIST
Tokyo Opensource Robotics Association
Middleware for DAQ (Data Aquisition) by KEK
Ubuntu上でOpenRTMを使用したプログラムのコンパイル時に _REENTRANT の再定義のWarningが出てしまう件について、OpenRTM 1.1の際に修正をお願いし、OpenRTM 1.2では修正が取り込まれると聞いていたのですが、OpenRTM 1.2.0 でも同様の問題が発生しています。
以前は config_rtc.h でこの警告が出ていたのですが、今度は conig_coil.h で出るようになりました。
以前と同様に、gccでスレッドを利用するのに必要な -pthread オプションをつけていると、
/usr/include/coil-1.2/coil/config_coil.h:134:0: warning: "_REENTRANT" redefined
といった警告が出ます。
OpenRTM関連ヘッダのインクルードの度に出るのでエラーや警告の確認に支障が出てしまいます。
conig_rtc.h ではこの問題が修正されているようで、そこで
となっているのと同様に、 config_coil.h の方も修正していただけないでしょうか。
またこの件は最新版が1.1.xの際に指摘したところ、1.1.xには取り込まないが1.2.xで取り込まれるということで、それを待っていたのですが、やっと1.2.0がリリースされたので試したところ上記の結果でしたので残念です。1.2.1として早めに修正いただくか、githubなどに開発版のソースを上げていただいて、そこですぐに取ってこれるようになるとうれしいです。
また同様にヘッダの問題で、Ubuntu 18.04のGCCでC++11を有効にしてコンパイルを行うと、
といったWarningが(OpenRTMのヘッダに対して)大量に出るようになりました。
関数定義にthrowをつけるのは今となっては止めるべき慣習とのことで、GCCの最新版でC++11を有効にするとこのような警告が出ます。C++17に至っては完全に廃止となるようです。 https://cpprefjp.github.io/lang/cpp17/remove_deprecated_exception_specifications.html
C++11以降の規格の利用は広まっていて標準となりつつありますから、throwについても除去していただけるとうれしいです。確かthrowについては除去しても特に実害はなかったのではないかと思います。