1

我有正在进行的跨平台项目(Win 和 Mac),我需要访问 USB 设备。我找到了完全符合我所有要求的 HIDAPI 库。由于没有用于 HIDAPI 库的 Delphi Firemonkey 包装器(至少我不知道),我正在编写自己的。

HIDAPI 项目网站http://www.signal11.us/oss/hidapi/说:“在 Windows 上,可以选择将 HIDAPI 构建到 DLL 中。“

这是真的,因为我已经使用 Visual Studio 成功编译了源代码并创建了在 Windows 上完美运行的 DLL。现在,由于我不是 C 程序员并且 OSX 不是我最强的技能,我想知道这是否可能以及如何从给定的源代码创建 libhidapi.dylib?

4

1 回答 1

1

也许我错过了你的问题......但看起来就像在你提供的那个链接上,有你需要编译.so为 Linux/Mac 平台的说明。然后您可以使用 Mac 中的链接:

编译为 Mac 动态库 (.dylib)。

构建说明

...

Mac OS X:切换到 mac/ 目录并运行 make。

要构建测试 GUI:

在 Linux 和 Mac 上,从 hidtest/ 目录运行 make。确保首先按照 README.txt 中的描述安装 fox-toolkit

然后 README 本身会告诉你为 mac 构建有哪些先决条件,以及如何生成最终的共享对象库:

Prerequisites:
---------------

苹果电脑:

在 Mac 上,如果您希望构建测试 GUI,则需要安装 Fox-Toolkit。有两种方法可以做到这一点,每一种都有轻微的复杂性。您使用哪种方法取决于您的用例。

如果您希望构建测试 GUI 只是为了在您自己的计算机上进行自己的测试,那么最简单的方法是使用端口安装 Fox-Toolkit:sudo port install fox

如果您希望构建 TestGUI 应用程序包以重新分发给其他人,则需要从源代码安装 Fox-toolkit。这是因为使用端口安装的 fox 版本使用与 Apple X11 库不兼容的端口 X11 库。如果您使用端口安装 Fox,然后尝试分发您构建的应用程序包,它将无法在其他系统上运行。要手动安装 Fox-Toolkit,请从 http://www.fox-toolkit.org下载源代码包,解压缩它,然后从解压缩的源代码中运行以下命令: ./configure && make && make install

以及如何生成.so:

将 HIDAPI 构建到 Unix 平台上的共享库中:

在 Linux、FreeBSD、Mac 甚至 Windows 等类 Unix 系统上,使用 Mingw 或 Cygwin,构建标准系统安装共享库的最简单方法是使用 GNU Autotools 构建系统。如果您从 git 存储库中签出源代码,请运行以下命令:

./bootstrap ./configure make make install <----- 以 root 身份,或使用 sudo

如果您下载了源包(即:如果您没有运行 git clone),您可以跳过 ./bootstrap 步骤。

./configure 可以接受几个控制构建的参数。最可能使用的两个是: --enable-testgui 启用测试 GUI 的构建。这需要安装 Fox 工具包。在每个平台上安装 Fox-Toolkit 的说明在上面的先决条件部分。

--prefix=/usr 指定输出头文件和库的安装位置。上面的示例将头文件放在 /usr/include 中,将二进制文件放在 /usr/lib 中。默认是安装到 /usr/local 中,这在大多数系统上都可以。

因此,您应该能够按照这些说明进行操作,但可以修改.dylib扩展并添加构建标志:-dynamiclib-fPIC

于 2013-03-12T11:31:24.630 回答