如何使用 Linux 上的 DLL 编译 windows 应用程序
How to compile a windows application using DLL's on Linux
我有适用于 windows 的 USB 设备的 SDK。我可以毫无问题地编译我的代码。但是,SDK 使用的是 DLL,不支持 Linux.
上的设备
我可以用 DLL 编译 Linux 上的代码吗?我一直在寻找 Wine 来这样做,但我不知道从哪里开始。
有可能吗?
编辑:
dmesg 的输出:
[ 430.699883] usb 3-2:使用 xhci_hcd
的新高速 USB 设备编号 4
[430.829091]usb 3-2:找到新的 USB 设备,idVendor=132b,idProduct=210b
[430.829100] usb 3-2:新 USB 设备字符串:Mfr=1,Product=2,SerialNumber=3
[430.829106]usb 3-2:产品:照度分光光度计CL-500A
[430.829111] USB 3-2:制造商:KONICA MINOLTA, INC.
[430.829115] USB 3-2:序列号:10001991
[ 430.830678] hid-generic 0003:132B:210B.0002: hiddev0,hidraw1: USB HID v1.11 设备 [KONICA MINOLTA, INC. 照度分光光度计 CL-500A] on usb-0000:00:14.0- 2/输入0
[ 430.831732] hid-generic 0003:132B:210B.0003: hiddev0,hidraw2: USB HID v1.11 设备 [KONICA MINOLTA, INC. 照度分光光度计 CL-500A] on usb-0000:00:14.0- 2/输入1
[1153.052833]systemd-hostnamed[3663]:警告:未安装 nss-myhostname。更改本地主机名可能会使其无法解析。请安装 nss-myhostname!
DLL 是用于 Windows 的库,您不能在 Linux 上使用它们进行编译。 Wine 是一种帮助在 Linux 上安装可执行文件的软件,但它也有局限性。并非所有软件都可以安装,因为 windows 提供的这些标准库不存在。
一般不会。设备驱动程序是 OS 特定的,因为它们在操作系统调用驱动程序的地方有钩子,所以你不能在 wine 下使用 windows 驱动程序,因为 linux 不是 windows 并且在内部不像 windows 那样工作。
现在,有一些例外,即 TWAIN 扫描仪和 CAPI 电话设备,它们并不真正配备 OS 模式驱动程序,但对应于用户空间 API,因此有用于这些的 Wine 包装器。
我有适用于 windows 的 USB 设备的 SDK。我可以毫无问题地编译我的代码。但是,SDK 使用的是 DLL,不支持 Linux.
上的设备我可以用 DLL 编译 Linux 上的代码吗?我一直在寻找 Wine 来这样做,但我不知道从哪里开始。
有可能吗?
编辑:
dmesg 的输出:
[ 430.699883] usb 3-2:使用 xhci_hcd
的新高速 USB 设备编号 4[430.829091]usb 3-2:找到新的 USB 设备,idVendor=132b,idProduct=210b
[430.829100] usb 3-2:新 USB 设备字符串:Mfr=1,Product=2,SerialNumber=3
[430.829106]usb 3-2:产品:照度分光光度计CL-500A
[430.829111] USB 3-2:制造商:KONICA MINOLTA, INC.
[430.829115] USB 3-2:序列号:10001991
[ 430.830678] hid-generic 0003:132B:210B.0002: hiddev0,hidraw1: USB HID v1.11 设备 [KONICA MINOLTA, INC. 照度分光光度计 CL-500A] on usb-0000:00:14.0- 2/输入0
[ 430.831732] hid-generic 0003:132B:210B.0003: hiddev0,hidraw2: USB HID v1.11 设备 [KONICA MINOLTA, INC. 照度分光光度计 CL-500A] on usb-0000:00:14.0- 2/输入1
[1153.052833]systemd-hostnamed[3663]:警告:未安装 nss-myhostname。更改本地主机名可能会使其无法解析。请安装 nss-myhostname!
DLL 是用于 Windows 的库,您不能在 Linux 上使用它们进行编译。 Wine 是一种帮助在 Linux 上安装可执行文件的软件,但它也有局限性。并非所有软件都可以安装,因为 windows 提供的这些标准库不存在。
一般不会。设备驱动程序是 OS 特定的,因为它们在操作系统调用驱动程序的地方有钩子,所以你不能在 wine 下使用 windows 驱动程序,因为 linux 不是 windows 并且在内部不像 windows 那样工作。
现在,有一些例外,即 TWAIN 扫描仪和 CAPI 电话设备,它们并不真正配备 OS 模式驱动程序,但对应于用户空间 API,因此有用于这些的 Wine 包装器。