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

article/2025/9/22 7:46:15

坑!!!大大的坑!!!

本项目需要实现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、相信自己的代码


http://chatgpt.dhexx.cn/article/5UFSuuk6.shtml

相关文章

Matlab2017b配置C++/C/Fortan编译器的问题(已解决)

今天在配置Matlab2017编译C代码的时候,一贯的调用mex -setup命令,结果显示没有找到任何支持的编译器或SDK。您可以安装免费的mingw-w64 c/c编译器; 崩溃!! 最后根据错误所给的链接在matlab2017的获取附加功能安装mingw-w64 、结…

Fortan写出数据到CSV文件中

1.输入代码 program HelloWorldopen(unit60, fileF:\Lambda3.csv)write(60,*) 4.2,5.2/sqrt(2*12550/4.1595e-11)end program HelloWorld 2.结果如下

ABAQUS6.10 VS2008 Intel fortan11.1

1.先参考微博 http://blog.sina.com.cn/s/blog_56d5b3b00100wg2y.html 2. 其它一些资料以及注意事项 IVF 11.1 可用 http://pan.baidu.com/s/1pKWPCq3 用DAEMON tools 安装IVF11.1 DAEMON是个虚拟光驱 VS2008 用英文版 ABAQUS用6.10 6.11 6.12 都安装完之后 找到Commands文件夹…

fluent加载第三方(C++,Fortan等)动态链接库

这里我介绍一种比较简单的方法,首先我们从ANSYS Fluent UDF Manual上随便找一段正确的UDF,下面这段UDF取自ANSYS 18的ANSYS Fluent UDF Manual,位于2.3.23.3. Example 1 - Pressure Profile / *********************************************…

Abaqus运行fortan报错:“Error in job Job-1: Problem during compilation - D:\test.for”

一、简介 最近在学习abaqus的子程序;学习视频为简单实例_哔哩哔哩_bilibili 模型建立后,所写的子程序代码如下: SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,1 COORDS,JLTYP,SNAME) CINCLUDE ABA_PARAM.INC CDIMENSION TIME(2),…

linux安装go语言环境

linux安装go语言环境 前言环境版本前期知识准备部署步骤安装wget下载压缩包,解压到指定路径/usr/local配置环境变量创建GOPATH文件夹添加PATH环境变量and设置GOPATH环境变量1.打开配置文件2.更改配置信息3.然后执行下面命令使上述环境变量的设置立即生效&#xff1a…

如何修改linux的 系统语言

首先查看当前系统的语言 1、echo $LANG 查看当前操作系统的语言 中文:zh_CN.UTF-8 英文::en_US.UTF-8 2、临时更改默认语言,当前立即生效 重启失效 export LANGen_US.UTF-8 3、永久生效,修改配置文件 centos7/rhel7之前版本&#x…

如何查看、修改linux系统语言

如何查看、修改linux系统语言 本机环境:CentOS 7.6本文方法适用于:centos7/rhel7之前版本和centos7/rhel7版本 [rootlocalhost ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) 1、查看当前操作系统的语言 echo $LANG 中文&#…

Linux安装日文语言包,以及,TeraTerm显示乱码问题 的 解决

■效果 ■语言包安装 rootsxzap01:~# apt -y install language-pack-ja ■修改配置文件(修改之后,需要重新连接) 改前:LANGen_US.UTF-8 vi /etc/default/locale 改后:LANGja_JP.UTF-8 ■乱码问题解决 ・修改这里…

Go语言 linux安装

​​​​​1、下载go安装包 载go的linux安装包,比如:go1.15.6.linux-amd64.tar.gz 2、解压 解压至/usr/local下,命令:tar -zxvf go1.15.6.linux-amd64.tar.gz 解压之后,查看版本:/usr/local/go/bin/go …

linux系统设置中文

怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码。出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的。以centos为例&#xf…

Linux 系统语言切换 ---- Linux Ubuntu 系统语言切换为英文

系统:Linux Ubuntu 18.04 中文版 目录 1. 在桌面右键打开命令框(Open Terminal): 2. 进入系统默认语言设置文件目录: 3. 打开系统语言配置文件: 4. 打开的系统文件如下: 5. 修改系统文件内容…

设置linux-kali 2022语言为中文(保姆级图文)

目录 友情提示1. 打开终端2. 打开设置3. 修改设置4. 重启生效设置总结 欢迎关注 『网络工程专业』 系列,持续更新中 欢迎关注 『网络工程专业』 系列,持续更新中 在安装完 kali linux2022 时,操作系统默认语言为英文,初学者可以把…

Linux中如何切换中文英文

查看当前使用的是中文(zh_CN.UTF-8)还是英文(LANG"en_US.UTF-8): echo $LANG 进入etc文件: cd /etc 使用vim编辑器进入初始配置的locale.conf文件: vim locale.conf 可以看到我目前的locale.conf文件中只有中文,如图: 目…

嵌入式Linux开发的编程语言选择

欢迎大家关注我的公*号:embedded_bug 这里的嵌入式Linux环境是指非标准Linux发行版环境,比如通过buildroot创建的,相比于标准的Linux发行版比如ubuntu,debian,fedora,系统比较简陋,提供的库很有…

Linux如何修改系统语言

Linux如何修改系统语言 一、Linux如何修改系统语言 对于刚学Linux 的小伙伴,或者英语水平相对低一些的小伙伴,在自己的Linux系统里面如果能直接显示中文,中文提示就是比较爽的一件事了,接触起来也不会觉得头大,不过说…

将kali Linux系统的语言切换为中文

首先我们打开kali linux 虚拟机 。右键开启终端。.输入sudo apt install ttf-wqy- zenhei命令来下载中文语音包,这里我在第一次输入时没有加sudo命令,没有成功执行,原因是我的用户是普通用户,没有管理员权限,不能进行下…

linux 学习笔记(二)下载中文语言包

主页面是英文对我们对英语不太熟悉的人不是很友好,所以我们要下载中文语言包解决这一困难 首先我们需要换源,默认是美国源,下载很慢,甚至会失败。 1.搜索soft 2.选择最下面那一个 3.找到chain,推荐阿里源 在这里换源…

WPS Office 2019 For Linux 设置显示语言

点击右上角图标A,然后在弹出的对话框中选择中文,然后重启WPS即可

修改 Linux 系统默认语言为中文

最近在使用软件的时候,发现在不同的系统中,界面有时候显示中文,有时候显示英文。 后来发现是在软件启动的时候,读取系统的语言,于是需要参照下面的方式修改系统的语言 1、查看当前语言 locale下面 LANGen_US.UTF-8 …