mingw编译程序的DLL依赖问题_消除对mingw特定dll的依赖-程序员宅基地

技术标签: JNI  windows  

1、在某个应用中,需要使用JAVA调用本地语言代码,明明编出来的C++库是有的,在JAVA类加载时却提示 Can't find dependent libraries

java.lang.UnsatisfiedLinkError: d:\xxx.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)


问题非常诡异,回退代码,问题就没了。。。。原因是什么呢? 


2、尝试,写了一个存C的代码,用可执行文件的方式,调用的上面的本地代码。弹出如下错误,缺少动态链接库,与前面的提示很相似。



3、于是乎,想到用 自己编出来的动态链接库,是不是没找到依赖的其他动态链接库。于是下载Depends.exe,导入xxx.dll, 果然,libgcc_s_seh-1.dll, libgcc

++-6.dll没有找到。

4、将这两个动态库复制到windows/system32下,java类可以正常加载本地库。问题初步解决。


可是,另一个问题却出来了。。。。

引起这个问题 的原因是,我使用的是mingw编译出的可执行文件和DLL,依赖了mingw的DLL文件,我要发布的代码可能使用在没有装有mingw的机器上,

怎么能解决不装mingw也能使用mingw编译出的程序呢??  


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010640288/article/details/31807133

智能推荐

Linux中通过/proc/stat等文件计算Cpu使用率_proc/self/stat 计算cpu-程序员宅基地

文章浏览阅读1.1k次。转自:http://blog.csdn.net/tenfyguo/article/details/7476306proc文件系统 /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用_proc/self/stat 计算cpu

【BigHereo 12】-----The First Half Of My 2017_if you want to go fast ,英语作文-程序员宅基地

文章浏览阅读547次。The First Half Of My 2017 ForWard If you want to gofast, go alone. If you want to go far, go together. 一, project1,【itoo could】 2,【Lab system】 二, Working inBeijing 三, jobReviewTe_if you want to go fast ,英语作文

创建SpringBoot项目pom.xml文件第一行报错:Non-parseable POM E:\maven\repository\org\springframework\securit...-程序员宅基地

文章浏览阅读1k次。在编辑pom.xml时,第一行有个刺眼红色×,然后在Problems看到这个问题[ERROR] The build could not read 1 project -> [Help 1]E:\mvn\repo\org\springframework\boot\spring-boot-dependencies\2.1.1.RELEASE在这里看到解决办法:https://blog.c..._non-parseable pom e:\maven\maven-repository\org\springframework\boot\spring-

【论文阅读】End-to-End Model-Free Reinforcement Learning for Urban Driving Using Implicit Affordances_driving in dense traffic with model-free reinforce-程序员宅基地

文章浏览阅读1.1k次。文章名:CVPR2020: End-to-End Model-Free Reinforcement Learning for Urban Driving Using Implicit AffordancesColumn: December 14, 2021 11:15 AMLast edited time: December 31, 2021 6:46 PMSensor: 1 RGBStatus: FinishedSummary: RL; carla leaderboardType: CVPR_driving in dense traffic with model-free reinforcement learning这篇论文用的

vue+element-ui前端使用print-js实现打印,可自定义样式(横纵向,缩放比,字体大小,背景色)_vue element 打印设置颜色-程序员宅基地

文章浏览阅读1.8w次,点赞23次,收藏86次。实现纯前端的打印功能,可自定义打印样式,使用print-js实现,设置打印默认横纵向,设置打印默认缩放比,修改打印字体,修改背景色。_vue element 打印设置颜色

Spring AOP概念理解 (通俗易懂)_如何理解spring中的aop-程序员宅基地

文章浏览阅读4.8w次,点赞184次,收藏446次。源地址:http://www.verydemo.com/demo_c143_i20837.html1.我所知道的aop  初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和我说aop多难多难。当我看进去以后,我才发现:它就是一些java基础上的朴实无华的应用,包括ioc,包括许许多多这样的_如何理解spring中的aop

随便推点

怎么架设魔兽世界服务器?_魔兽世界服务器架设-程序员宅基地

文章浏览阅读6.8k次。怎么架设魔兽世界服务器?准备工具:1、装有windows98/2000/xp/2003系统、内存至少256M的电脑一台2、魔兽服务器端一个3、mysql4.0.2(不要用最新的5.0,有问题)mysql-control-center0.9.4MyODBC-standard-3.51(上面3个都是架设服务器用的数据库端和数据库管理端:mysql4.0.2是数据库主程序,mysql-control center0.9.4是数据库管理界面程序,MyODBC是MySQL与Window_魔兽世界服务器架设

c语言产生gamma 分布的随机数,笔记:Gamma 分布的转化-程序员宅基地

文章浏览阅读1.2k次。Gamma 分布α 和β 均大于零,且令λ=1/β,假设 X 的密度满足:就说 X 是服从参数为 (β,α) 的 Gamma 分布,记为Γ(β,α)。Gamma 分布的两个参数中,第一个β 决定了形状 (shape),第二个参数α 决定了尺度 (scale)。右上图中的 k 即是α,θ 即是β;期望 E=β/α,方差 D=β/(α*α)。曲线有一个峰,左右不对称。在α 比较大时,曲线接近于正态分布..._计算gamma的形状参数、尺度参数

linux上安装osg_在Linux下编译osg与osgEarth-程序员宅基地

文章浏览阅读2k次。OSG、osgEarth是三维仿真领域经常用的开源引擎。由于Linux使用有一定的门槛,并且编译OSG和osgEarth需要使用到各种各样的库,这导致Linux下开发效率很低。随着国产化操作系统的推广,越来越多的人开始接触并使用国产操作系统进行三维开发,本文以银河麒麟OS为例,编译OSG与osgEarth,具体编译步骤:第1篇- 前期准备 -A.下载官网下载适配自己机型的NVIDIA驱动程序;B...._linux下编译osg源码

0前言:CHAT GPT-4 从零开始学习python计划_chatgpt4需要学习多久-程序员宅基地

文章浏览阅读323次。我深知自己的知识不足,因此在GPT-4面向会员时,决定从零开始学习Python。第三阶段:实践项目(7-10周)第一阶段:基础知识(1-3周)第二阶段:进阶知识(4-6周)第四阶段:不断提高(持续进行)祝你学习Python愉快!_chatgpt4需要学习多久

171001 逆向-Reversing.kr(WindowsKernel)_windows逆向 总结-程序员宅基地

文章浏览阅读442次。1625-5 王子昂 总结《2017年10月1日》 【连续第366天总结】 A. Reversing.kr-WindowsKernel B.WindowsKernel解压缩出来readme、WindowsKernel.exe和WinKer.sys吸取之前的教训,先仔细读懂ReadMe再做题: Please authenticate to lowercase.看不懂(:з」∠)认证,小写?_windows逆向 总结

并发容器:阻塞队列之LinkedBlockingQueue_new linkedblockingqueue<>();-程序员宅基地

文章浏览阅读132次。文章目录1 介绍1 介绍ArrayBlockingQueue是基于数组实现的FIFO“有边界”队列,PriorityBlockingQueue也是基于数组实现的,但它是“无边界”的优先级队列,由于存在对数据元素的排序规则,因此PriorityBlockingQueue并不能提供FIFO的约束担保LinkedBlockingQueue是“可选边界”基于链表实现的FIFO队列。LinkedBlockingQueue队列的边界可选性是通过构造函数来决定的,当我们在创建LinkedBlockingQueue_new linkedblockingqueue<>();

推荐文章

热门文章

相关标签