問題タブ [vrpn]

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.

0 投票する
1 に答える
7913 参照

android - JNI を使用して大規模な C++ ライブラリを Android NDK にコンパイルする - Makefile に関する質問

Android アプリで使用する Java ラッパーをいくつか使用して C++ ライブラリ (VRPN) をコンパイルしようとしています。ndk-build コマンドを使用すると、ライブラリ内のオブジェクトのコンストラクターを参照する C++ インターフェイス ファイルの最初の行で「未定義の参照」エラーが発生します。コードが正しいことはかなり確信しています。呼び出しはメソッド ヘッダーと一致し、実装されていることを確認するためのヘッダー ファイルとソース ファイルの両方があります。問題は、現在単一のクラスのみを参照している Android.mk ファイルにあると思います。そのため、コードはコンパイルされているように見えますが、ライブラリの残りのオブジェクト コードが見つからないと、リンクしません。私は C++ にかなり慣れていないので、makefile についてはよくわかりませんが、Android NDK で使用されているものと一致する「標準」makefile は見たことがありません。明らかに多くの詳細を隠しています。私が正しく理解している場合、「標準の」メイクファイルでは、出力ファイルと必要なオブジェクトファイルに名前を付け、その後にオブジェクトファイルとそのソースファイルとヘッダーファイルなどを続けます.ndk-を強制する方法がわかりませんbuild を使用してオブジェクト コードを作成し、残りのライブラリをリンクします。

ここに私の現在の Android.mk があります:

jni_vrpn_button.h:

jni_vrpn_button.cpp:

アイデア?

編集:エラーを投稿するのを忘れました:

$ $CRYSTAX/ndk-build SharedLibrary : libjni_vrpn_button.so /cygdrive/c/Development/android-ndk-r4-windows-crystax-4/android-ndk-r4-crystax/sources/string/obj/l ocal/armeabi/ objs/jni_vrpn_button/jni_vrpn_button.o: 関数 Java_jni_VrpnButton_vrpn_1Button_1 initialize': /cygdrive/c/Development/android-ndk-r4-windows-crystax-4/android-ndk-r4-crystax/sources/string/jni/j ni_vrpn_button.cpp:18: undefined reference to 内 vrpn_Button_Example_Server::vrpn_Button_Example_Server(char const*, vrpn_Connection*, int, double)' collect2: ld が 1 つの終了ステータスを返しました make: *** [/cygdrive/c/Development/android- ndk-r4-windows-crystax-4/android-ndk-r4-crystax/sources/s string/obj/local/armeabi/libjni_vrpn_button.so] エラー 1

0 投票する
3 に答える
24632 参照

c++ - ポインターを作成するための関数呼び出し不足の引数リスト

VRPN サーバー経由でアプリを OpenViBE に接続しようとしました。アプリを VRPN サーバーに接続するコードを追加しようとするまで、アプリは正常に動作します。

私のコードは次のようになります。

MainWindow.cコード:

MainWindow.hコード:

このコードを使用して、アプリを実行しようとすると、次のようになります。

エラーアドバイスに従ってコードを編集しようとしましたが、別のエラーが発生しました:

私は周りを検索しますが、使用可能な解決策が見つかりません。

メソッドcheckChannelshandle_analogこのコードから「コピー」すると、すべて正常に動作します。

私はどこで間違いをしていますか?すべての返信に感謝します。

0 投票する
1 に答える
2350 参照

c++ - Yosemite で CMAKE_OSX_DEPLOYMENT_TARGET が自動的に「10.10」に設定される

OS X 10.10.5 でVRPNライブラリをコンパイルしようとしています。

: を使用してcmake 構成をセットアップしましたccmake ../vrpn。プロジェクトを構成しようとすると、次のエラーが発生します。

最終的な CMake エラー、cmake の TryCompile 構成が失敗しました

そして、構成に変数が表示されます:

プロジェクトを再度構成しようとすると、前のエラーと共に次のメッセージが表示されます。

明らかに問題は、デフォルトの cmake 構成が間違った SDK バージョンを設定することです。

バージョンを次のように変更し10.11ます。

そして、必要に応じて設定しCMAKE_OSX_SYSROOTます:

構成は問題ありませんが、次のエラーが発生します。

私が驚いたのは、別の CMakeLists.txt で Threads ライブラリを取得しようとしたところ、cmake の実行がうまくいったことです。

問題は、カスタムCMAKE_OSX_SYSROOTCMAKE_OSX_DEPLOYMENT_TARGETスレッドパッケージが見つからないことだと思いました。しかし、設定からCMAKE_OSX_DEPLOYMENT_TARGETとを削除しようとするたびに、最初のエラー メッセージが表示され、は にリセットされます。CMAKE_OSX_SYSROOTccmakeCMAKE_OSX_DEPLOYMENT_TARGET10.10

これを解決するために試すことができる情報/テストはありますか?

0 投票する
1 に答える
383 参照

c++ - VRPN C++ コードは Linux ではコンパイルできますが、Windows ではコンパイルできません

Linux で VRPN クライアントを構築しました。これに基づいています: http://www.vrgeeks.org/vrpn/tutorial---use-vrpn

コードの一部を次に示します。

このコードで参照されているコールバックは次のとおりです。

VRPN へのこれらすべての参照が定義されている場所は次のとおりです。

https://github.com/vrpn/vrpn/blob/master/vrpn_Analog.h#L168 https://github.com/vrpn/vrpn/blob/master/vrpn_Button.h#L225 https://github.com/ vrpn/vrpn/blob/master/vrpn_Tracker.h#L284

これらは Linux で警告なしにコンパイルされ、実際に使用できます。すべてが期待どおりに機能しました。ここにあるすべての型は、コンパイラー g++ を満たしているようです。

しかし、Windows では、Visual Studio 2015 を使用するか MinGW の g++ を使用するかに関係なく、最初の 2 つのコールバック登録で次のようになります。

そして最後のものについては、別のエラーが発生します。

これを入力しているので、VRPN が Windows で別の方法でコンパイルされたのではないかと考えています。そのため、コンパイラでコードに問題が発生しています。しかし、私は何をすべきかについて非常に迷っています。

0 投票する
0 に答える
150 参照

networking - VRPN が静止物体の可変追跡データを報告するのはなぜですか?

現在、Virtual Reality Peripheral Network (VRPN) を使用して、NDI Polaris Spectra 光学トラッキング デバイスを Vizard VR ソフトウェアに接続しようとしています。最終的な目標は、ヘッドとツールの追跡にデバイスを使用することです。
Polaris に付属のソフトウェアは正しく動作し、デバイスに同梱されている剛体をサブミリの精度で追跡します。VRPN は Polaris 追跡デバイスをサポートすると主張しており、Vizard には VRPN プラグインが含まれています。ただし、VRPN を使用して Polaris と接続すると、剛体と Polaris の両方が三脚に接続されている場合でも、VRPN によって報告される追跡データが大幅に異なるようです。

Polaris で VRPN を使用するために、vrpn.cfg ファイルを編集して、コメントを外した次の行を追加しました。

(Polaris デバイスが COM2 に接続されていることを確認しました。追跡する剛体は 1 つだけで、8700449.rom ファイルに記述されています。Polaris に付属の NDI ソフトウェアでも、これが正しいことを確認しました。追跡しようとしている剛体のファイルです。)

次に、vrpn_server.exe プログラムを実行すると、次のように報告されます。

VRPN wiki に従って、別のコマンド ウィンドウで vrpn_print_devices.exe を実行して、トラッキングが正しく機能していることをテストします。

ここでの目盛りがメートル単位であることを正しく理解していれば、これらの位置のジャンプは非常に大きいです。(vrpn_print_devices.exe によって出力されたデータが切り捨てられていることにも注意してください。)
Polaris に付属の NDI ソフトウェアは同じ剛体を非常に正確に追跡するため、位置のジャンプは環境要因によるものではないと想定しています (室内の赤外線光源など)。リジッド ボディは、NDI が提供するパッシブな再帰反射トラッキング ドットを使用しています。現在、Windows 7 で VRPN を実行しています。
問題は VRPN に関連していると思われますが、Vizard の VRPN プラグインが VRPN からデータを正しく読み取っていない可能性もあります。これは、追跡対象のオブジェクトをメイン ビューポイントにリンクするために使用した Vizard (python) コードです。 

ただし、これは VRPN に由来する問題のようです。見逃した構成や、このような不正確な追跡の理由はありますか?
ありがとう!

編集: VRPN が間違ったリトル/ビッグ エンディアン エンコーディングを想定している可能性はありますか?