【问题标题】:Bluetooth on Lazarus/FreePascal on Mac OS XMac OS X 上 Lazarus/FreePascal 上的蓝牙
【发布时间】:2010-12-15 19:00:26
【问题描述】:

有没有人在 Mac OS X 和 Lazarus 或 FreePascal 上使用蓝牙?有一个蓝牙单元,但目前只支持Linux。

现有单位信息: http://wiki.freepascal.org/Bluetooth

我计划增强此功能以支持 Mac OS,但很高兴知道是否有人已经编写了任何代码以在 Mac OS 上使用蓝牙以避免重复工作。

另一方面,如果您使用 XCode 访问蓝牙,您使用了哪些库?我确信我可以通过打开一些蓝牙应用程序使用 XCode 分析器发现这一点。

注意:Mac OS X 似乎没有使用 Linux 拥有的 BlueZ 库,所以我认为解决方案不像更改库路径那么简单。相反,它具有位于 /System/Library/Frameworks/IOBluetooth.framework 的 IOBluetooth“框架”。

看一看,是这样的:

kaikei.ocn.ntt.com:IOBluetooth.framework $ 文件 * CodeResources:XML 文档文本 标题:目录 IOBluetooth:具有 3 种架构的 Mach-O 通用二进制文件 IOBluetooth(用于架构 x86_64):Mach-O 64 位动态链接共享库 x86_64 IOBluetooth(适用于 i386 架构):Mach-O 动态链接共享库 i386 IOBluetooth(用于架构 ppc7400):Mach-O 动态链接共享库 ppc 资源:目录 版本:目录

另一方面,我想如果有人已经这样做了,我可能会在 Google 上找到它。如果我错了,请回复并告诉我。

澄清:我之前为普通共享库创建了绑定(例如 sqlite3),但没有为“框架”创建绑定。如果没有人创建绑定或以其他方式使用 FreePascal 的 MacOS 蓝牙框架,我们将不胜感激有关如何使用 FreePascal 的框架功能的建议。 (通常我移植的函数是基于 C 的,而不是 Obj-C,所以我不确定如何在 FPK 中声明 Obj-C 方法,尽管我确信如果我继续搜索,我将能够找到一些示例)。

【问题讨论】:

    标签: delphi macos bluetooth lazarus freepascal


    【解决方案1】:

    翻译后的 Mac OS X 框架 C 标头的主要 svn 存储库是 http://svn.freepascal.org/svn/macosxintf/trunk

    有时,FPC 版本会与那里托管的最新版本同步。请注意,该存储库中的文件(在 MPPInterfaces 子目录中)采用通用格式,可以自动转换为 FPC、GPC 或 CodeWarrior Pascal 版本。

    要生成 FPC 版本,请使用“make fpcpinterfaces”,然后在 Build/FPCPinterfaces 文件夹中找到结果。

    要翻译新的标头,请在已签出的 macosxintf 存储库副本中执行类似的操作: ./Scripts/Convert.pl /System/Library/Frameworks/IOBluetooth.framework/Headers/IOBluetooth.h FORCE MPPInterfaces

    之后,您仍然需要编辑生成的文件以添加/删除单元并清理自动翻译过程未处理的其他一些事情。完成后,您可能需要在 bugs.freepascal.org 上提交一份包含已完成单元的错误报告。

    (注意:因为我未注册,我只能在每个帖子中添加一个 url,所以下一个 url 有点混乱以绕过这个限制)

    您还可以订阅 Mac Pascal 列表 (lists.sonic.net/mailman/listinfo/mac-pascal) 并在那里询问是否有人已经翻译了这些标题。

    蓝牙框架确实也包含一些 Objective-C 头文件。 Objective-Pascal 支持仅在最新的 FPC svn 版本中可用,如 FPC wiki (google FPC_PasCocoa) 中所述。您需要这种支持才能与 Objective-C 交互。

    使用 FPC 的 svn (svn.freepascal.org/svn/fpc/trunk/packages/cocoaint/utils/) 中其他地方的脚本翻译 Objective-C 可能是最简单的方法

    您可能想就上述 Mac Pascal 列表寻求帮助,因为所有维护上述翻译和翻译工具的人都在那里订阅。

    【讨论】:

    • 感谢您提供的信息!我不知道 macpascal 列表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2012-06-12
    • 2014-08-27
    • 2014-09-07
    • 2011-08-24
    • 2012-08-09
    • 1970-01-01
    相关资源
    最近更新 更多