-
如何在Linux下,用Java访问Window的Dll(使用Wine)5
现在有个功能,在Window下已经实现,是Java访问Dll实现的。
我现在想把这部分移植到Linux下,有啥好办法吗?
我目前在实验通过Wine把Dll包装一下,然后通过Java访问。
但是用Winegcc编译出来的so文件,Java访问不了。
问题补充:可能没太说明白,
我想要的是Linux下访问后缀是.dll的文件,而不是.so文件。
就是不想重写这块代码,简单把window下稳定运行的dll文件直接拷贝到linux下了,希望能通过wine之类的东西,让java可以访问。
问题补充:还是没说明白吗,无奈了,大牛们,
我想要的是在Linux环境下,Java访问dll文件。
谢谢!
问题补充:谢谢Anddy,
你说的这个方法,我都试过了,呵呵,winegcc编译出的so文件java能load,但是一旦访问api,就会报错
后来看到一个帖子http://old.nabble.com/WineLib-and-Java-Native-Interface-(JNI)---UNIX-td21007867.html
明白了,虽然他是so文件,但是必须得wine环境下才能运行。
实在没有办法了,只能说单独写一个东西包装一下dll,然后和java通过socket等来通讯了。
谢谢!!2010年3月24日 14:37
5个答案 按时间排序 按投票排序
-
听我慢慢道来:
- Winegcc把dll文件编译成的so文件,这步你已经做到了。下一步关键是怎么使用这个so文件,对吧。
- java程序是可以调用so文件的。怎么访问看上面的链接
两步过后,看看是不是你要的结果了:“在Linux环境下,Java访问dll文件。”
winegcc是linux环境下的,so文件也是linux下的。
虽然没能直接访问dll文件,但是间接的实现了java访问dll文件。know?2010年3月25日 14:40
-
Java程序通过JNI调用C语言生成的so文件.
http://blog.csdn.net/liu251/archive/2009/03/03/3953906.aspx2010年3月25日 08:27
-
cygwin可以做到这一点,它能解释win32的目标文件。
引用cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。2010年3月24日 14:52
相关推荐
在Java编程环境中,有时我们需要在Windows系统中远程访问Linux服务器以获取或操作文件。`JSch`库提供了一个这样的解决方案,它是一个纯Java实现的SSH2库,允许开发者连接到远程计算机并执行命令,传输文件等。本篇将...
window平台的 opencv_java320.dll 编译好的,放在java bin目录下即可
在Spring Boot项目中集成JNA,可以让Java应用在服务启动时直接使用DLL提供的功能。 5. **示例工程`demo-test-dll`**:这个压缩包可能包含了演示如何在Spring Boot中使用JNA调用DLL的示例代码。通常,这将包含Java类...
在本文中,我们将深入探讨与标题和描述相关的Linux和Windows x64环境下的OpenCV 3.4.3版本,特别是其动态库(so和dll文件)以及Java接口(jar包)。 首先,让我们了解一下`so`文件。在Linux系统中,`.so`文件是共享...
UCanAccess是一个纯Java库,它允许开发者在Linux或其他Java运行环境中无缝地访问和操作MS Access的mdb和accdb文件。这个项目的核心是利用Jackcess库来读取和写入Access数据库,同时结合HSQLDB来实现对JDBC兼容性的...
为了在Windows上使用OpenCV进行Java开发,你需要将此DLL文件放置在系统路径或者应用程序的类路径中,以便程序运行时可以找到并加载它。 对于Linux系统,OpenCV通常以共享库(.so文件)的形式存在。`libopencv_java...
2. 在Java代码中,使用`java.lang.reflect.InvocationHandler` 和 `java.lang.reflect.Proxy` 创建一个动态代理类,模拟TTS接口。 3. 使用`java.lang.Runtime.getRuntime().exec()` 或 `java.lang.ProcessBuilder` ...
在Windows操作系统下,本机库文件的扩展名通常是`.dll`(动态链接库),而在Linux操作系统下,本机库文件的扩展名通常是`.so`(共享对象)。这是由于不同操作系统使用不同的二进制格式和加载机制。 原因如下: 1. ...
window+linux java图像处理依赖包,包含ffmpeg-4.3.1-1.5.4.jar,ffmpeg-4.3.1-1.5.4-linux-arm64.jar,ffmpeg-4.3.1-1.5.4-linux-x86.jar,ffmpeg-4.3.1-1.5.4-windows-x86_64.jar,ffmpeg-platform-4.3.1-1.5.4.jar...
1. **安装与配置**:在Windows上,需要将dll文件放到系统路径下或者Java的lib/ext目录下;在Linux上,通常需要使用ldconfig命令更新动态链接库的配置,或者手动将so文件放到/lib或/usr/lib目录下,并确保库的权限...
java通过dll 或者动态库调用讯飞sdk实现离线文字转语音,讯飞离线文字转语音,java调用windows 或者linux动态库,通过jna的native方法实现,主要还要注意项目中路径的配置,先到讯飞控制台下载sdk,项目中涉及到的...
然而,为了实现跨平台的通用性,我们通常会优先考虑使用在两种操作系统上都有对应版本的工具。 6. **自动化解压脚本**: 对于开发人员或系统管理员来说,编写自动化脚本来解压文件可能是常见需求。在Linux上,可以...
gmssl国密工具箱中 Java模块编译的动态库,是在windows64位机器上编译的,通过JNI可以调用SM2加密解密签名验签
在使用Window类时,如果使用方法不当,例如在创建窗口时传入了不正确的参数或在不恰当的环境下调用了特定的方法,都可能引发异常。常见的异常包括IllegalArgumentException,这需要开发者在编程时进行适当的异常捕获...
window Copy RXTXcomm.jar ---> <JAVA_HOME>\jre\lib\ext Copy rxtxSerial.dll ---> <JAVA_HOME>\jre\bin Copy rxtxParallel.dll ---> <JAVA_HOME>\jre\bin Linux Choose your binary build - x86_64 or i386 ...
在Windows环境下,`RunScript.java`可能会使用类似`"cmd /c start script.bat"`的命令来启动批处理脚本。而在Linux中,它可能会使用`"/bin/sh script.sh"`这样的命令。在执行这些命令时,可能还需要考虑脚本的路径和...
所有源码,资料均经过严格测试,可以直接运行,可以放心下载使用。...许多知名的科学计算软件都在Linux上开发和运行,Linux系统在各个领域都有广泛的应用,其强大的功能和灵活性使得它成为许多产品和服务的基础架构。
本文将详细讲解如何在32位环境下在Java中设置和使用SAP JCO连接。 首先,了解SAP JCO的基本概念。SAP JCO是SAP提供的一个开源库,它基于RFC(Remote Function Call)协议,使得Java应用程序能够调用SAP R/3或ABAP ...
在Java编程环境中,实现Linux与Windows之间的文件上传和下载是一项常见的任务,特别是在分布式系统和跨平台应用中。本文将深入探讨如何使用Java技术实现在Linux和Windows之间进行文件的互传,以及创建一个HTML界面来...
标题中的“window DLL文件修复”指的是Windows操作系统中动态链接库(DLL)文件的修复过程。DLL文件是Windows系统中一种共享代码和数据的文件类型,它们包含可由多个程序同时使用的函数和其他资源。当DLL文件损坏或...