如何在 Linux 上使用 DLL 编译 Windows 应用程序

How to compile a windows application using DLL's on Linux

本文关键字:DLL 编译 Windows 应用程序 Linux      更新时间:2023-10-16

我有一个适用于windows的USB设备的SDK。我可以毫无问题地编译代码。但是,SDK使用的是DLL,Linux上不支持该设备。

我可以用DLL在Linux上编译代码吗?我一直在寻找Wine来做到这一点,但我甚至不知道从哪里开始。

这可能吗?

编辑:

dmesg:的输出

[430.699883]usb 3-2:使用xhci_hcd 的新型高速usb设备编号4

[430.892091]usb 3-2:找到新的usb设备,idVendor=132b,idProduct=210b

[430.829100]usb 3-2:新的usb设备字符串:Mfr=1,产品=2,序列号=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】在USB-0000:00:14.0-2/input0 上

【430.831732】hid generic 0003:132B:210B.0003:hiddev0,hidraw2:USB hid v1.11设备【KONICA MINOLTA,INC.照度分光光度计CL-500A】在USB-0000:00:14.0-2/input1 上

[1153.05283]systemd hostnamed[3663]:警告:未安装nss myhostname。更改本地主机名可能会使其无法解决。请安装nss-myhostname!

一般来说,没有。设备驱动程序是特定于操作系统的,因为它们在操作系统调用驱动程序的地方有钩子,所以你不能在wine下使用windows驱动程序,因为linux不是windows,在内部也不像windows那样工作。

现在,有几个例外,即TWAIN扫描仪和CAPI电话设备,它们并没有真正带有操作系统模式驱动程序,但对应于用户区API,因此有Wine包装器。

DLL是专为Windows设计的库,您不能在Linux上使用这些库进行编译。Wine是一款帮助在Linux上安装可执行文件的软件,但它也有局限性。并不是所有的软件都可以安装,因为windows提供的这些标准库并不存在。