swift - 在 MacOS GUI 应用程序中使用 libusb
问题描述
我正在尝试在带有 GUI 的 macOS 应用程序中使用 libusb。但我总是以“没有这样的模块'CLibUSB'”失败。我可以在命令行应用程序中使用 CLibUSB,但不能让它与 macOS GUI 应用程序一起使用。我做了什么:
- 冲泡安装 libusb
- $ mkdir Clibusb 和 $ cd Clibusb/
- 制作系统模块
$ swift package init --type 系统模块
- 编辑包清单 Package.swift 文件,使其看起来像这样
// 快速工具版本:5.1
import PackageDescription let package = Package( name: "Clibusb", pkgConfig: "libusb-1.0", providers: [ .brew(["libusb"]) ], dependencies: [ // Dependencies declare other packages that this package depends on // .package(url: /* package url */, from: "1.0.0"), ] )
- 创建一个 C 垫片标头,
echo '#include <libusb.h>' >shim.h
- 编写模块图module.modulemap
module CLibUSB [system] { header "shim.h" link "libusb-1.0" export * }
- 创建一个 Git 存储库
混帐初始化
混帐添加。
git commit -m "初始提交"
- 制作客户端应用程序
mkdir LibUSBExample cd LibUSBExample swift package init --type executable
- 在 main.swift 的客户端应用程序中。我导入 CLibUSB 并进行一些测试 - 一切正常
如何在 GUI 应用程序中使用 CLibUsb?
解决方案
感谢你的帮助!
桥接头需要包含#include <libusb-1.0/libusb.h >
我必须正确设置Header Search Path = /usr/local/include 和Library Search Path = /usr/local/lib。
在框架、库等下。我还必须设置库 libusb-1.0.a 或libusb-1.0.0.dylib
推荐阅读
- ios - UIPageViewController 具有未知数量的 UIViewController 实例
- python - 如何在提交时将表单添加到字典
- python - Python,从按钮列表中删除项目
- opendaylight - Opendaylight 中的 Loop Remover 功能
- python - 我正在尝试使用 python 对字符串进行一些手动编码
- python - 在 Kivy 中使用 Fbo 渲染根小部件
- javascript - 如何使用 javascript 和 php 禁用数字输入类型
- google-api - 带有 dart 的 Google 认证 HTTP 客户端
- c# - 函数签名中的 [] 在 C# 中的作用
- wordpress - Gutenberg ServerSideRender 回调