問題タブ [opendds]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qos - 私が送信したのと同じトピックを受信しないようにする
DataDriver と DataReader の両方である OpenDDS ノードがあります。その結果、ノードがトピックを送信すると、同じトピックが同じノードから受信されます。
この動作を回避する QoS ポリシーはありますか? ノードがそれ自体以外のすべてのノードからトピックを受信できるようにしたい。
package - opendds TAO_IDL_GEN、OpenDDS_XML_QOS_XSC_Generation、およびその他のスキップされたパッケージ
ソースから OpenDDS 3.8 をビルドしています。コマンドを実行すると、configure
いくつかのスキップ メッセージが表示されます。それらのほとんどはJavaです(私は使用しないので、スキップしても問題ありません)が、他のいくつかのメッセージが私の注意を引きます:
TAO_IDL_GEN (tao_idl_fe.mpc) をスキップします。tao_idl_fe_gen が必要です
OpenDDS_XML_QOS_XSC_Generation (qos_xml_handler.mpc) をスキップします。xsc が必要です。
OpenDDS_QOS_XML_XSC_Handler (qos_xml_handler.mpc) をスキップします。xerces が必要です。
OpenDDS_CorbaSeq (CorbaSeq.mpc) をスキップします。no_opendds_safety_profile を回避します。
OpenDDS_Corba (OpenDDS_Corba.mpc) をスキップします。no_opendds_safety_profile を回避します。
これらのパッケージに関するものは何も見つかりませんでした。それらが何をするのか、そしてそれらが必要かどうか (そして最終的にはそれらを構築する方法) を知りたいです。
c++ - 静的ライブラリでのテンプレートのインスタンス化の防止
さまざまな IDL ファイルから取得した DDS トピックの定義を含む静的ライブラリを構築しようとしています。ミドルウェアとして OpenDDS を使用しています。
を含む IDL ファイルを作成し、sequence<long>
それをスタティック ライブラリにコンパイルしてから、そのスタティック ライブラリをアプリケーションにリンクすると、複数のシンボル定義を含むリンカ エラーが発生します。
これは、静的ライブラリに のテンプレートのインスタンス化が含まれてunbounded_value_sequence
おり、アプリケーションにもインスタンス化が含まれているためだと思います。OpenDDS で使用されている ACE TAO 内から発生しているようです。
静的ライブラリでテンプレートをインスタンス化することを完全に回避する方法を探しています。これにより、それらがリンクされているときにアプリケーション内で定義を使用できるようになります。以下を追加してみました。
これにより、次のエラーが発生しました。
そのインスタンス化を見つけようとしましたが、私のコードにはありません。ACE 自体の中にある場合もあります。
1 つのプロジェクトですべてをビルドしても問題は発生しませんが、それは理想的な解決策ではありません。
data-distribution-service - OpenDDS のどのライブラリに「OpenDDS::DCPS::operator<<」が含まれていますか?
このメソッド シグネチャの場所が見つからないため、共有ライブラリを OpenDDS (v3.9) スタティック ライブラリにリンクする際に問題が発生しています。
これがエラーです。
ABTypeSupportImpl.cpp は、IDL のコンパイルから自動生成されます。同じエラーがさらに続きます。名前空間 (OpenDDS::DCPS) のため、これはライブラリ libOpenDDS_Dcps.a 内にあると思いますが、このライブラリで nm を使用し、"operator" または "<<" を grep しても結果は得られません。名前マングリングは、オーバーロードされた演算子にとって少し奇妙である可能性がありますか? $DDS_ROOT/lib 内のすべてのライブラリ ファイルでこれを実行しましたが、何も見つかりませんでした。
また、IDL を再コンパイルして、short や long などのデータ型を持つ構造体のメンバー フィールドを削除すると、エラーは発生せず、すべて正常にリンクされます。
このメソッド シグネチャがどのライブラリにあるか知っている人はいますか?
c++ - IDL ファイルで opendds_idl ツールを使用すると致命的なエラー C1083 が発生する
Windows 10 の opendds_idl ツールで問題が発生しています。
静的リンク モードを有効にし、x64 プラットフォームを使用して、OpenDDS ソース コードから Visual Studio 2015 で OpenDDS ライブラリとツールを生成しました。
コマンドラインで
エラーが発生しました
IDL ファイルの内容: