如何在Python代码中使用导入的xsensdeviceapi64.dll类和函数?

问题描述 投票:0回答:1

来自 Xsens 设备 API 文档:

C++ 接口在编译后的形式中不可用,但作为 SDK 的一部分提供,作为包含在 C 头文件中的源代码。此 C++ 接口代码实现了一个围绕 C API 的便利包装器。这意味着开发人员不必处理内存管理(即简单的对象生命周期管理),因为类实现会处理这个。

API 包含两个为 MS Windows(32 位和 64 位)和 Linux 提供的 C 接口库。这些都是: XsTypes 包含通用类型(向量、矩阵、四元数等)和这些类型的一些基本操作。Xsens 设备 API 包含对 Xsens 设备中实现的功能的访问。 Xsens Device API 库依赖于 XsTypes,而 XsTypes 是一个独立的库。

所以我将

xsensdeviceapi64.dll
导入我的
Python 3.8.10
代码:

import os
xda = os.add_dll_directory(r'C:\path\xsensdeviceapi64.dll')

然而,这一行

class XdaCallback(xda.XsCallback):

尝试基于 XsCallback Xsens Device API 类创建类时抛出错误:

builtins.AttributeError: '_AddedDllDirectory' object has no attribute 'XsCallback'

XsCallback 是一个明确记录的 Xsens 设备 API 类,我有一个适用于 Linux 的工作代码(Linux 使用 Python wheel 文件,该代码适用于 Windows)所以毫无疑问。我还尝试了

xsensdeviceapi_csharp64.dll
xsensdeviceapi_com64.dll
,它们随软件开发工具包 Windows 下载一起提供,除了使用
xstypes64.dll
的导入和
api
导入,但它没有任何区别。也将
...dll
文件重命名为
...pyd
没有帮助。

为什么这行不通?如何使用 Python 3.8.10 访问 Windows 中的 API 类和函数?

python dll dllimport
1个回答
0
投票

Movella MTi Products Software Suite 中有 Python 的 wheel 文件。我已经下载了 MTw Awinda 软件套件,因为我正在为其编程的项目使用了 MTw 传感器和 Awinda Dongle。

https://www.movella.com/support/software-documentation

© www.soinside.com 2019 - 2024. All rights reserved.