如何在 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.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提供的这些标准库并不存在。
- 在使用 Clang 编译 DLL 时指定 DEF 文件
- 如何使用导出的函数交叉编译 DLL
- 从DLL导出函数,LoadLibrary()需要用TEXT转换的字符串才能编译而不会出错
- 为什么我可以在EXE上编译DLL
- 从Windows 10编译VS2017在Windows 7和…上部署..找不到DLL
- 是否可以编译使用 .NET DLL 和 GCC 的C++?
- 在 dll 中为 qLibrary 编译 qobject 时出错
- 如果使用低于 VS2015 的 vc++ 编译器版本编译,则 DLL 中的访问冲突
- W10上不可能使用十字架编译的libpng16-16.dll执行
- MinGW编译的exe-缺少libgcc_s_silj-1.dll
- 在 Windows 10 上使用 CZMQ 编译 dll 时出错
- 我可以将Visual Studio 2015头文件编译成dll并在VS2013中使用它吗?
- 编译时如何隐藏DLL文件中的字符串?
- 某些C++源文件是为多个 dll 编译的
- 集成DLL编译与英特尔c++编译器
- visual c++ MSVC dll编译错误,缺少类型说明符和重定义
- 将针对msvcrt.dll编译的库链接到Visual Studio 10 c++应用程序中
- 如何在 Linux 上使用 DLL 编译 Windows 应用程序
- 用64位的C++dll编译我的32位项目
- 将DLL编译为静态库时,如何处理DLL_EXPORT