问题标签 [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.
android - 使用 JNI 将大型 C++ 库编译到 Android NDK - Makefile Questions
我正在尝试用几个 Java 包装器编译一个 C++ 库 (VRPN),以便在 Android 应用程序中使用。使用 ndk-build 命令,我的 C++ 接口文件的第一行出现“未定义引用”错误,该文件引用了库中对象的构造函数。我相当确定我的代码是正确的——调用与方法头匹配,并且我有头文件和源文件来验证它是否已实现。我认为问题出在我的 Android.mk 文件上,该文件目前仅引用我的单个类。因此,代码似乎可以编译,但一旦找不到库其余部分的目标代码,就不会链接。我对 C++ 很陌生,所以我对 makefile 了解不多,但是我见过的“标准”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_Serve r(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 字符串/obj/local/armeabi/libjni_vrpn_button.so] 错误1
c++ - 函数调用缺少参数列表以创建指针
我尝试通过 VRPN 服务器将我的应用程序连接到 OpenViBE。在我尝试添加代码以将我的应用程序连接到 VRPN 服务器之前,我的应用程序运行良好。
我的代码如下所示:
MainWindow.c
代码:
MainWindow.h
代码:
使用此代码,当我尝试运行我的应用程序时,我得到:
我尝试通过错误建议编辑代码,但我收到另一个错误:
我四处寻找,但没有找到任何可用的解决方案。
方法checkChannels
和handle_analog
我从这段代码中“复制”,一切正常:
我在哪里做错了?感谢所有回复。
java - Java VRPN 按钮服务器
我正在尝试使用VRPN
将刺激数据从我的Java
应用程序发送到OpenViBE
.
我可以从 OpenVibe 中包含的 VRPN 服务器接收 Java 中的模拟和按钮数据,使用java_vrpn and the included test classes (AnalogTest.java, ButtonTest.java)
中包含的示例java_vrpn
仅提供了发送短信的可能性
如何从 Java VRPN 服务器发送按钮数据?
请,任何帮助将不胜感激!
这东西让我发疯,我什至找不到 vrpn java lib 是否可以做到这一点!
macos - Mac OS X 中的 vrpn 和 libusb 链接错误
当我尝试vrpn 7.33
在 Mac 上编译时出现以下错误。它说这libusb
是为不同的架构编译的,而不是vrpn
正在编译的:
但是,当我重新编译libusb
将架构更改为时,x86_64
我开始收到以下错误:
注意链接器现在是如何搜索原始i386
架构的。
为什么vrpn
在这两种情况下都抱怨?
python - 在 Windows 上使用 Python 3.4 64 位构建 VRPN 服务器
我正在尝试在 Windows 7 64 位上使用 Python 3.4 64 位构建带有 Python3 标志的 VRPN 服务器,但似乎存在问题。BlenderVR 软件需要这个。
这是我的程序:
- 1)我使用CMake创建 makefile(我使用的是 3.4.0 版本,但我也尝试了不同的版本)。我用这个命令来做(那些标志应该在那里,但没有它们的结果似乎是一样的):
cmake -G"MinGW Makefiles"
-HD:\My\BlenderVR\plugins\vrpn
-BD:\My\BlenderVR\plugins\cmake
-DVRPN_BUILD_PYTHON=OFF
-DVRPN_BUILD_PYTHON_HANDCODED_2X=OFF
-DVRPN_BUILD_PYTHON_HANDCODED_3X=ON
我曾经也添加过这些标志,但似乎没有它们也能找到 Python
-DPYTHON_INCLUDE_DIR=D:\My\BlenderVR\Required\Python3\include
-DPYTHON_LIBRARY=D:\My\BlenderVR\Required\Python3\libs\python34.lib
正确找到了 Python,并且此操作不会引发任何错误。
- 2)然后我使用mingw32-make.exe构建它,我得到这个错误:
[ 90%] 链接 CXX 共享模块 vrpn.pyd
D:/My/BlenderVR/Required/Python3/libs/python34.lib:添加符号时出错:文件格式无法识别
collect2.exe:错误:ld 返回 1 退出状态
python\ CMakeFiles\vrpn-python.dir\build.make:505:目标 'python/vrpn .pyd' 的配方失败 mingw32-make[2]: * * * [python/vrpn.pyd] 错误 1
CMakeFiles\Makefile2:3247:目标“python/CMakeFiles/vrpn-python.dir/all”的配方失败 mingw32-make[1]: * * * [python/CMakeFiles/vrpn-python.dir/all]
错误 2 Makefile:159: 目标配方all'
mingw32-make失败:[all] 错误 2
vprn.pyd是我未来工作的关键。
我发现它需要libpython34.a文件(可能)。当我创建它并复制到 Python3/libs 文件夹时,它可以正常工作并且没有错误地完成,但是装箱的vprn.pyd没有按应有的方式工作。
我需要的是让import vrpn在 python 中使用这个简单的测试(附加构建vrpn.pyd的路径):
它使我的整个计算机滞后了一段时间,然后弹出 Python 已停止工作。
我怀疑问题出在我创建的libpython34.a文件中:
我不知道我应该如何获取 libpython 文件。我已经尝试了具有许多 CMake 标志的各种版本的 CMake 和 MinGW(如 MinGWPy、TDM、w64)。我能够使用 32 位 Python 使其工作,但我需要 64 位版本,否则它不适用于 BlenderVR 环境。
我知道这是一个非常具体的问题,起初可能有点令人困惑,但我不知道该怎么说。我会很高兴有任何可以提供帮助的东西。谢谢你。
c++ - 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_SYSROOT
并使CMAKE_OSX_DEPLOYMENT_TARGET
Threads 包无法找到。但是每次我尝试从配置中删除CMAKE_OSX_DEPLOYMENT_TARGET
and时,我都会收到第一条错误消息,并且会重置为.CMAKE_OSX_SYSROOT
ccmake
CMAKE_OSX_DEPLOYMENT_TARGET
10.10
你有任何信息/测试可以尝试解决这个问题吗?
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++,前两个回调注册都会得到这个:
对于最后一个,我得到一个不同的错误:
现在我正在输入这个,我想也许 VRPN 在 Windows 上的编译方式不同,这就是为什么编译器现在对我的代码有问题。但我很不知道该怎么做。
networking - 为什么 VRPN 报告静止物体的这种可变跟踪数据?
我目前正在尝试使用虚拟现实外围网络 (VRPN) 将 NDI Polaris Spectra 光学跟踪设备连接到 Vizard VR 软件。最终目标是使用该设备进行头部和工具跟踪。
Polaris 附带的软件可以正常工作,以亚毫米精度跟踪与设备包装在一起的刚体。VRPN 声称支持 Polaris 跟踪设备,Vizard 包含一个 VRPN 插件。然而,当我使用 VRPN 与 Polaris 接口时,VRPN 报告的跟踪数据似乎差异很大,即使刚体和 Polaris 都连接到三脚架。
要将 VRPN 与 Polaris 一起使用,我编辑了 vrpn.cfg 文件,添加了以下未注释的行:
(我已经确认Polaris设备连接到COM2。只有一个刚体要跟踪,在8700449.rom文件中有描述。我也用Polaris附带的NDI软件确认这是正确的我正在尝试跟踪的刚体的文件。)
然后我运行 vrpn_server.exe 程序,它报告以下内容:
根据 VRPN wiki,我通过在另一个 cmd 窗口中运行 vrpn_print_devices.exe 来测试跟踪是否正常工作:
如果我正确理解这里的比例以米为单位,这些位置的跳跃非常大。(我还要注意 vrpn_print_devices.exe 打印的数据被截断了。)
由于 Polaris 附带的 NDI 软件非常准确地跟踪同一个刚体,我假设位置的跳跃不是由于环境因素(比如房间内的 IR 光源等)。刚体使用 NDI 提供的无源回射跟踪点。我目前在 Windows 7 上运行 VRPN。
虽然我怀疑问题与 VRPN 相关,但也有可能是 Vizard 的 VRPN pluing 无法正确读取来自 VRPN 的数据。这是我用于将跟踪对象链接到主视点的 Vizard (python) 代码。
但是,这似乎是源自 VRPN 的问题。是否有任何我错过的配置或导致这种不准确跟踪的原因?
谢谢!
编辑:VRPN 是否有可能假设错误的小/大端编码?
java - 获取处理以读取 Java 文件输出/值
我正在编写一个程序来使用处理从一个 VRPN 设备读取按钮值和一个在命令行中完美运行的示例 Java 文件。
我已经使用适当的库/文件设置了我的草图文件夹,我只需要重新配置 Java 代码以将值发送到事物的 PDE 端(当前为 System.out.println())。我尝试建立一个 PApplet 对象,但在 ButtonTest 类中配置它时遇到了麻烦。我曾尝试在 Java 中研究这种功能,但找不到正确的术语。任何帮助将不胜感激!
我的文件结构:(PDE 文件当前为空/准备就绪并等待)
仅供参考,我已设法将 Java 文件中的值发送到此处看到的处理草图,我似乎无法为该项目实现它https://forum.processing.org/two/discussion/3677/