2017-03-03 8 views
0

Qt5を使用してOpenSpliceのチュートリアルの例を実行しようとしています。私はプログラムを正常に構築されたが、私はそれを実行したときに、私は次のエラーを取得:私が来た多くのデバッグ工程の後に無効なハンドルQt5実行エラーのOpenSplice作成に失敗しました:無効なハンドル

:DDS :: DomainParticipantFactoryで

エラー:: create_participant:創造 失敗しました私の実行ファイルが私のosplにリンクしていないという結論に!私は、それがクラッシュするとospl-error.logが生成されないので、それを理解しました。

私は. ./release.com正しくリリースファイルをソースとし、そのすべての環境変数が正しく(特にOSPL_URIOSPL_HOME)に設定されている同じ端末からの私のqtcreatorを開始しました

誰もがこの問題を解決する方法上の任意のアイデアを持っていますか?

+0

エラーは、コードがosplに接続できないことを示します。単一のプロセスモデル(ospl istはアプリケーションの一部)を使用していますか?それ以外の場合は、ospl startを使用してosplデーモンプロセスを開始する必要があります。 – tssch

+0

私は両方のモデルでテストしましたが、同じエラーが発生します... –

答えて

0

私はついにこの問題を解決し、答えを共有することを考えました。

unix:!macx: LIBS += -L$$PWD/../../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/lib/ -lcmagent -lcmjni -lcmsoap -lcmxml -ldbmsconnect -ldcpsc99 -ldcpsccpp -ldcpsgapi -ldcpsisocpp -ldcpsisocpp2 -ldcpssac -ldcpssacpp -ldcpssaj -lddsconf -lddsconfparser -lddsdatabase -lddshts -lddsi2 -lddsi2e -lddskernel -lddsos -lddsosnet -lddsrmi -lddsrrstorage -lddsserialization -lddsuser -lddsutil -ldurability -lfacecpp -lleveldb-ospl -llzf-ospl -lnetworking -lnwbridge -lrlm913 -lrnr -lsigar-amd64-linux -lsnappy-ospl -lsnetworking -lspliced -lsqlite3-ospl -lstreamsccpp -lstreamsisocpp -lstreamssacpp 

INCLUDEPATH += $$PWD/../../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/include 
DEPENDPATH += $$PWD/../../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/include 

私は今のプログラムが必要であり、今では完璧に動作しますLIBSの最小セットを使用しています: 問題は、私はすべてのDDSのlibsを含め、私の私は、次のlibsを含めた.PROにされたということでした。ここで私が今使っているのは次のとおりです。

unix:!macx: LIBS += -L$$PWD/../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/lib/ -lddskernel -ldcpsisocpp 

INCLUDEPATH += $$PWD/../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/include 
DEPENDPATH += $$PWD/../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/include 

実際には、エラーは-ldcpsccppと-lddshtsによって発生しています。これらのライブラリを削除することで、アプリケーションは完全に動作します。

関連する問題