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

时间:2015-06-25 12:35:52

标签: c++ linux dll 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:SerialNumber: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 / INPUT0

[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!

2 个答案:

答案 0 :(得分:2)

一般来说,没有。设备驱动程序是特定于操作系统的,因为它们具有操作系统调用驱动程序的挂钩,因此您不能在wine下使用Windows驱动程序,因为linux不是Windows而且不像内部窗口那样工作。

现在,有一些例外,即TWAIN扫描仪和CAPI电话设备,它们并不真正带有操作系统模式驱动程序,而是对应于用户空间API,因此有针对这些驱动程序的Wine包装器。

答案 1 :(得分:-2)

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