Fortran Coder

标题: 关于use mod,不同操作系统mod和lib混用问题 [打印本页]

作者: ihvner    时间: 2014-7-16 17:50
标题: 关于use mod,不同操作系统mod和lib混用问题
各个大家:

今天弄到一个程序,需要在windows下编译,里面用到了一些use ,但是引用 的mod是原带的,可能是在linux下编译的,我这没有原码,所以我自己不可能再生成这些mod。
在windows下编译程序时,出现如下提示:

error #7881: This module file was generated for a different platform or by an incompatible compiler or compiler release. It cannot be read.         


请问一下,这个问题是否可以解决?如果可以的话,要怎么做?

多谢了!

作者: 楚香饭    时间: 2014-7-16 18:55
1.你没有源码,是否有类似 lib 或者 dll 一样的东西?如果没有,你这个问题就无法解决了。
2.如果有,那么你是否知道这个module的每一个函数及其每一个参数,每一个public的变量?如果不知道,这个问题无法解决。
3.如果知道,那么你可以自己写一个module,只写函数接口,不写函数内部实现,编译后既可得到 *.mod 文件。
4.如果1,2问题的答案是否定的,你可以问原作者索取module的代码或接口代码。
作者: ihvner    时间: 2014-7-17 13:13
chuxf 发表于 2014-7-16 18:55
1.你没有源码,是否有类似 lib 或者 dll 一样的东西?如果没有,你这个问题就无法解决了。
2.如果有,那么 ...

您好!非常谢谢回复!

1. 在一个lib文件夹下能找到 .a   .la文件
2. 可能通过函数调用接口,大概还原些函数处参数,但可能性小。
3. 新写的module,函数名是与原函数名一样吗? 比如编译后为  new.mod,那我是直接把原来的 use old.mod改为 use new.mod就行吗?

谢谢!
作者: 楚香饭    时间: 2014-7-17 14:01
.a 文件是 linux 的函数库文件。windows下不能直接使用,建议你向原作者索取源代码。或只在linux下使用。

后面的不说了,第一点决定了,行不通。
作者: ihvner    时间: 2014-7-17 16:21
chuxf 发表于 2014-7-17 14:01
.a 文件是 linux 的函数库文件。windows下不能直接使用,建议你向原作者索取源代码。或只在linux下使用。

...

谢谢,看来只能想别的办法了。





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