Fortran Coder

标题: fortran调用refprop时出现问题 [打印本页]

作者: 1468592801    时间: 6 天前
标题: fortran调用refprop时出现问题
目前已经把refprop软件中的fortran,fluids和mixtures文件夹全放项目文件夹里了,fluids里面的文件也都加到项目里了,refprp64.lib和refprp64.dll也已经加到项目依赖项里了,但还是出现了错误“REFPRP64.DLL : fatal error LNK1107: 文件无效或损坏: 无法在 0x320 处读取”,有哪位大神能回答一下到底出了啥问题吗

作者: 1468592801    时间: 5 天前
我看好像说要把refprop软件的路径加到项目中,但我不知道怎么加进去
作者: fcode    时间: 5 天前
refprp64.dll 无需添加到项目依赖项。
作者: 1468592801    时间: 5 天前
请问那应该怎么调用呢,是要把依赖项路径加到项目里吗,还是说要把软件位置安装到项目文件夹中?
作者: fcode    时间: 5 天前
我没用过 refprop,但是 dll 是不用添加到项目依赖库的。
去掉项目依赖性中的dll之后,看看有什么错误提示,再多提供截图再判断原因。
作者: 1468592801    时间: 5 天前
fcode 发表于 2024-11-30 16:23
我没用过 refprop,但是 dll 是不用添加到项目依赖库的。
去掉项目依赖性中的dll之后,看看有什么错误提示 ...

filegen.obj : error LNK2019: 无法解析的外部符号 TPFLSH,函数 FILEGEN_mp_DRHODTEMP 中引用了该符号
filegen.obj : error LNK2019: 无法解析的外部符号 THERM3,函数 FILEGEN_mp_DRHODTEMP 中引用了该符号
filegen.obj : error LNK2019: 无法解析的外部符号 TRNPRP,函数 FILEGEN_mp_DRHODTEMP 中引用了该符号
filegen.obj : error LNK2019: 无法解析的外部符号 SURFT,函数 FILEGEN_mp_DRHODTEMP 中引用了该符号
filegen.obj : error LNK2019: 无法解析的外部符号 DPDD,函数 FILEGEN_mp_DRHODTEMP 中引用了该符号
filegen.obj : error LNK2019: 无法解析的外部符号 DPDD2,函数 FILEGEN_mp_DRHODTEMP 中引用了该符号
filegen.obj : error LNK2019: 无法解析的外部符号 DPDT,函数 FILEGEN_mp_DRHODTEMP 中引用了该符号
filegen.obj : error LNK2019: 无法解析的外部符号 DDDP,函数 FILEGEN_mp_DRHODTEMP 中引用了该符号
filegen.obj : error LNK2019: 无法解析的外部符号 DDDT,函数 DDDT.t1479p.t1480p.t11p.t1481p 中引用了该符号
filegen.obj : error LNK2019: 无法解析的外部符号 SETUP,函数 SETUP.t1517p.t1518p.t1519p.t1520p.t1521p.t1522p.t3v.t3v.t3v.t3v 中引用了该符号
filegen.obj : error LNK2019: 无法解析的外部符号 WMOL,函数 WMOL.void 中引用了该符号
libifcoremdd.lib(for_main.obj) : error LNK2019: 无法解析的外部符号 MAIN__,函数 main 中引用了该符号
x64\Debug\property tool.exe : fatal error LNK1120: 12 个无法解析的外部命令
具体就是这些报错,程序应该是没读到dll
作者: fcode    时间: 5 天前
这些就是没有找到这些函数,你使用的是 Visual Studio 吗?
尝试对你的解决方案管理器截个图,你是把 refprp64.lib 添加到哪个位置了?
你需要让编译器在链接时加上这个 .lib 文件。
作者: 1468592801    时间: 5 天前
fcode 发表于 2024-11-30 19:10
这些就是没有找到这些函数,你使用的是 Visual Studio 吗?
尝试对你的解决方案管理器截个图,你是把 refpr ...

就跟这个图片一样

屏幕截图 2024-11-30 192633.png (46.93 KB, 下载次数: 19)

屏幕截图 2024-11-30 192633.png

作者: fcode    时间: 5 天前
这里是绝对不能输入 .dll 的。

我下载了一个,看了一下。似乎只要把 Fortran 文件夹下所有的 .FOR 添加到工程中就行了。
也不需要在上面的位置添加 *.lib 文件。

这个 *.lib 和 *.dll 文件似乎是给其他语言预编译好的。
作者: 1468592801    时间: 5 天前
这样子的话会出现这种情况

屏幕截图 2024-11-30 194319.png (212.56 KB, 下载次数: 20)

屏幕截图 2024-11-30 194319.png

作者: fcode    时间: 5 天前
写上主程序就行了。
作者: 1468592801    时间: 5 天前
fcode 发表于 2024-11-30 19:52
写上主程序就行了。

原来竟是如此简单的问题……感谢感谢




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2