坑!!!大大的坑!!!

本项目需要实现java调用fortran的dll,我在本地编译好apae.dll,然后java调用dll成功!

将apae.dll发送给对方,同样的java代码和fortran的dll,始终各种报错

要么是

Exception in thread "main" java.lang.UnsatisfiedLinkError: 找不到指定的模块。

要么是如下错误:

---------------------------
Intel(r) Visual Fortran run-time error 
---------------------------
forrtl: severe (46): inconsistent OPEN/CLOSE parameters, unit 10, file D:\TEST.txt Image              PC                Routine            Line        Source             
libifcoremdd.dll   0000000019A22CA8  Unknown               Unknown  Unknown
libifcoremdd.dll   0000000019A1C239  Unknown               Unknown  Unknown
libifcoremdd.dll   0000000019A0816C  Unknown               Unknown  Unknown
libifcoremdd.dll   00000000199772B7  Unknown               Unknown  Unknown
libifcoremdd.dll   0000000019976B61  Unknown               Unknown  Unknown
libifcoremdd.dll   00000000199950FF  Unknown               Unknown  Unknown
ap8ae8.dll         000007FEEF623969  AP8AE8MAIN                 70  ap8ae8.for
ap8ae8.dll         000007FEEF624BB4  AP8AE8                     37  ap8ae8.for
jna45732181076738  000007FEEFCA8E33  Unknown               Unknown  Unknown
jna45732181076738  000007FEEFCA8087  Unknown               Unknown  Unknown
jna45732181076738  000007FEEFC99D5B  Unknown               Unknown  Unknown
jna45732181076738  000007FEEFC941C7  Unknown               Unknown  Unknown
                   0000000002867F74  Unknown               Unknown  Unknown
                   000000000258C9F8  Unknown               Unknown  Unknown

Stack trace terminated abnormally.

仿佛一看,以为是代码本身大错误,于是我花了三天时间修改代码,关键是我的fortarn 77代码比较老,面对同样的代码,编译器有时报错,有时又不报错,于是我真心以为是代码问题!!!

后来真的改了无数次代码,发现一个奇怪的问题是,我能跑成功的代码,即使不能到其他电脑上跑,但是去他电脑上本地编译后就能成功。想想可能是编译器的问题,也许有依赖项,那么以前的思路肯定就错了,然后回头看看报错提示

libifcoremdd.dll   0000000019A22CA8  Unknown               Unknown  Unknown
libifcoremdd.dll   0000000019A1C239  Unknown               Unknown  Unknown
libifcoremdd.dll   0000000019A0816C  Unknown               Unknown  Unknown
libifcoremdd.dll   00000000199772B7  Unknown               Unknown  Unknown

确实有依赖项。

赶紧调整思路,在网上搜索fortran编译器编译dll时如何去掉依赖项,然后看到这个贴子:

https://blog.csdn.net/dongzhe8/article/details/80608579

打开Vs的项目属性,在libraray的runtime library看到有默认的依赖项,

然后去掉依赖项:

这样编译后的dll就可以移植到其他平台了

所以Fortran编译器有默认设置,编译时要小心!!!

教训:

1、一定要多看看报错

2、不要执着与报错提示

3、相信自己的代码

fortan dll在本地可以运行成功,移植到其他电脑上报错Exception in thread main java.lang.UnsatisfiedLinkError: 找不到指定的模块。相关推荐

  1. IDEA运行redis多线程访问报错Exception in thread “main“ java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

    错误样式: 解决方案: 下载两个JAR包即可,同样的代码我在MyEclipse中运行就不报错,可能是IDEA缺少这两个JAR包吧,而ME本身自带了 托管下载地址:Central Repository: ...

  2. 【亲测有效】如何解决Hadoop运行jar包 报错Exception in thread “main“ java.lang.ClassNotFoundException: /input

    报错解释 字面意思就是我要运行这个jar但是Java无法找到主类 试错过程 你可能会在这里添加主类,但是还是不行.你可能没辙了. 解决办法 <build><finalName> ...

  3. 关于jar包运行报错:Exception in thread “main“ java.lang.UnsupportedClassVersionError的解决办法

    打包jar包后 ,在jar路径下cmd使用命令 java -jar  jar包名字 报错: Exception in thread "main" java.lang.Unsuppo ...

  4. Linux运行Java出现“Exception in thread main java.lang.OutOfMemoryError: Java heap space”报错...

    在运行如下程序时出现"Exception in thread "main" java.lang.OutOfMemoryError: Java heap space&quo ...

  5. 【Java】Kryo运行报错:Exception in thread “main“ java.lang.IllegalArgumentException:Class is not registered

    练习代码如下: import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.io.Input; import com ...

  6. 使用sqljdbc连接mssql数据库,maven生成jar运行后报Exception in thread main java.lang.SecurityException错误...

    错误信息如下: Exception in thread "main" java.lang.SecurityException: Invalid signature file dig ...

  7. IDEA 本地调试spark程序 Exception in thread main java.lang.NoSuchMethodError: scala.collection.immutable.

    1.很简单的一测试程序: 2.run运行时:出现ERROR,报错行显示在  new SparkContext 这行. val sc = new SparkContext(conf) Exception ...

  8. idea运行的时候出现的问题Exception in thread “main” java.lang

    idea运行的时候出现的问题Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.imm ...

  9. 2021.11.23【bug笔记】丨picard运行报错:Exception in thread “main“ java.lang.UnsupportedClassVersionError

    项目场景: RNA-seq对比对后bam文件绘制insert图片 问题描述: 执行picard命令时发生报错: JAVA报错代码: at java.lang.ClassLoader.defineCla ...

  10. Hadoop在windows下本地调试报错:Exception in thread “main“ java.lang.ExceptionInInitializerError

    该报错原因主要是jdk版本导致,测试使用jdk11,hadoop2.7.2报错,更改jdk版本至jdk11.0.14运行正常.

最新文章

  1. Python 四大基本语法
  2. SBB:南土所梁玉婷、孙波等跨气候带土壤移置揭示了气候变暖及施肥对土壤固氮微生物递增的环境过滤作用...
  3. 【Linux入门到精通系列讲解】Centos 7软件安装的三种方式
  4. 王爽 汇编 实验10
  5. 从银行网点拒绝普通客户 看互联网银行的“微众市场
  6. oracle中判断空,Oracle中判断空游标的方法
  7. 游戏的数值系统的实现和演化
  8. 《Effective C++》阅后心得
  9. Keras-Sequential模型(2)
  10. python 进行一元线性回归并输出相关结果_荐一元线性回归利用最小二乘法求解原理代码及案例...
  11. Android Sutiod报错:Dx unsupported class file version 52.0(解决)
  12. (box-shadow)阴影 -CSS3 注:外阴影
  13. [开源项目]_[C++ CSDN博客下载-CSDN博客导出-CSDN博客备份工具]
  14. 华为scp快充协议详解_华为SCP快充技术曝光:支持“电荷泵”技术,最高可达20W...
  15. OPA277/OPA2277/OPA4277 High Precision Operational Amplifiers 高精度运放
  16. SWFUpload使用
  17. ixgbe 驱动安装
  18. Python——飞机大战
  19. 1.1机器学习和深度学习综述(百度架构师手把手带你零基础实践深度学习原版笔记系列)
  20. FFT 多项式点表示与系数表示的快速fft转换

热门文章

  1. 数字图像处理及MATLAB实现实验四——图像变换
  2. CString转换成const char*
  3. Qt Style Sheets Reference Qt css 样式属性列表[官版]
  4. python正则表达式基础
  5. linux后台执行命令与putty打开程序界面 screen
  6. javafx弹出二级stage窗口时虚化主窗口
  7. c# 多线程 执行事件 并发_阿里P9大牛对多线程并发问题的一些总结
  8. 线程池创建线程数量讨论
  9. P2P下载器-P2P种子搜索器
  10. 安卓rom制作教程_安卓手机TWRP_Recovery卡刷图文教程 适用于卡刷ROM,TWRP救砖