Fortran Coder

查看: 25208|回复: 26
打印 上一主题 下一主题

[混编] VS2013+Intel Parallel Studio XE 2018 for Fortran与Matlab2016a混合编程问题

[复制链接]

22

帖子

3

主题

0

精华

入门

F 币
90 元
贡献
48 点
跳转到指定楼层
楼主
发表于 2018-7-20 10:55:49 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 MrLIN 于 2018-7-20 10:55 编辑

请教关于matlab与Fortran混合编程问题,初次接触Fortran语言,有一个混合编程的任务需要完成。用matlab的范例程序 yprimefg 先进行了试验,记过在VS中编译显示如下:

对matlab进行设置时候也同样出现了问题,按照网上的方法也没有解决:

请大家多多指点,不胜感激!!!!

微信图片_20180720104841.png (41.34 KB, 下载次数: 420)

VS

VS

微信图片_20180720105502.png (17.22 KB, 下载次数: 463)

matlab

matlab
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

22

帖子

3

主题

0

精华

入门

F 币
90 元
贡献
48 点
沙发
 楼主| 发表于 2018-7-20 18:20:48 | 显示全部楼层
本帖最后由 MrLIN 于 2018-7-20 18:29 编辑
胡文刚 发表于 2018-7-20 13:16
VS要开启预处理。项目菜单,属性,Fortran展开,Preprocessor,Preprocess source file 改为 Yes
给错误提 ...

非常感谢,VS只剩一个错误了:错误        1        fortran_matlab_test : error PRJ0019: A tool returned an error code               
按照网上的普遍说法处理也无济于事:
C:\用户\user.USER-PC\桌面

22

帖子

3

主题

0

精华

入门

F 币
90 元
贡献
48 点
板凳
 楼主| 发表于 2018-7-20 22:38:04 | 显示全部楼层
胡文刚 发表于 2018-7-20 22:30
输出窗口,全部复制粘贴。

错误        1        fortran_matlab_test : error PRJ0019: A tool returned an error code               
这就是全部了。。。

22

帖子

3

主题

0

精华

入门

F 币
90 元
贡献
48 点
地板
 楼主| 发表于 2018-7-22 19:45:27 | 显示全部楼层
胡文刚 发表于 2018-7-20 22:44
你确定是“输出窗口”,而不是“错误列表”窗口?
如果你不确定,请截图 ...

噢噢噢,抱歉抱歉,非常感谢耐心解答。输出窗口列表如下:
1>------ 已启动全部重新生成:  项目: fortran_matlab_test, 配置: Debug Win32 ------
1>Deleting intermediate files and output files for project 'fortran_matlab_test', configuration 'Debug|Win32'.
1>Compiling with Intel(R) Visual Fortran Compiler 18.0.3.210 [IA-32]...
1>Source1.for
1>Source1.for(1): #error: can't find include file: fintrf.h
1>fortran_matlab_test : error PRJ0019: A tool returned an error code
1>Build log written to  "file://D:\fortran test\fortran_matlab_test\fortran_matlab_test\Debug\BuildLog.htm"
1>fortran_matlab_test - 1 error(s), 0 warning(s)
========== 全部重新生成:  成功 0 个,失败 1 个,跳过 0 个 ==========
找不到头文件。。。。

22

帖子

3

主题

0

精华

入门

F 币
90 元
贡献
48 点
5#
 楼主| 发表于 2018-7-23 20:03:12 | 显示全部楼层
本帖最后由 MrLIN 于 2018-7-23 20:11 编辑
fcode 发表于 2018-7-23 16:27
这是找不到 fintrf.h 你需要找到这个文件,然后把它的目录添加到“工程属性”中的 Additional Include
...

非常感谢您的回答。
我搜索了下,头文件在matlab的安装文件夹里,我按你的描述把路径添加进去,但是编译后有出现了新的错误。。。
错误        1         error LNK2019: 无法解析的外部符号 _MEXERRMSGTXT,该符号在函数 _MEXFUNCTION 中被引用        Source1.obj        
错误        2         error LNK2019: 无法解析的外部符号 _MXGETM730,该符号在函数 _MEXFUNCTION 中被引用        Source1.obj
错误        3         error LNK2019: 无法解析的外部符号 _MXGETN730,该符号在函数 _MEXFUNCTION 中被引用        Source1.obj        
错误        4         error LNK2019: 无法解析的外部符号 _MXCREATEDOUBLEMATRIX730,该符号在函数 _MEXFUNCTION 中被引用        Source1.obj        
错误        5         error LNK2019: 无法解析的外部符号 _MXGETPR,该符号在函数 _MEXFUNCTION 中被引用        Source1.obj        
错误        6         error LNK2019: 无法解析的外部符号 _MXCOPYPTRTOREAL8730,该符号在函数 _MEXFUNCTION 中被引用        Source1.obj        
错误        7         error LNK2019: 无法解析的外部符号 _YPRIME,该符号在函数 _MEXFUNCTION 中被引用        Source1.obj        
错误        8         error LNK2019: 无法解析的外部符号 _MXCOPYREAL8TOPTR730,该符号在函数 _MEXFUNCTION 中被引用        Source1.obj        
错误        9         error LNK2019: 无法解析的外部符号 _MAIN__,该符号在函数 _main 中被引用        libifcoremdd.lib(for_main.obj)        
错误        10         fatal error LNK1120: 9 个无法解析的外部命令        Debug\fortran_matlab_test.exe        


共十个错误

竟然不会添加图片。。。。
D:\fortran test






22

帖子

3

主题

0

精华

入门

F 币
90 元
贡献
48 点
6#
 楼主| 发表于 2018-7-24 08:47:54 | 显示全部楼层
pasuka 发表于 2018-7-24 08:27
路径添加的不正确,通常情况下譬如fintrf.h这类头文件会放在
C:\Program Files\MATLAB\R2016a\extern\incl ...

我这个电脑上的matlab安装在D盘,头文件的路径是这个:D:\Matlab\extern\include,我这样添加路径您看对不:


微信图片_20180724084635.png (108.62 KB, 下载次数: 227)

微信图片_20180724084635.png

22

帖子

3

主题

0

精华

入门

F 币
90 元
贡献
48 点
7#
 楼主| 发表于 2018-7-24 14:32:48 | 显示全部楼层
fcode 发表于 2018-7-24 13:38
没错,你现在需要继续添加 lib

头文件和动态链接路径都添加进去了,还是没办法编译成功,还是十个错误。。。。


微信图片_20180724143203.png (150.88 KB, 下载次数: 230)

微信图片_20180724143203.png

22

帖子

3

主题

0

精华

入门

F 币
90 元
贡献
48 点
8#
 楼主| 发表于 2018-7-24 19:33:56 | 显示全部楼层
已经添加,头文件也加了进去,结果还是不好使。。。。哎,不知道为什么

微信图片_20180724193027.png (80.87 KB, 下载次数: 217)

微信图片_20180724193027.png

22

帖子

3

主题

0

精华

入门

F 币
90 元
贡献
48 点
9#
 楼主| 发表于 2018-7-24 19:36:29 | 显示全部楼层
fcode 发表于 2018-7-24 19:07
按照这样,添加现有项,然后选择 那个 mclcommain.lib 文件即可(不管它的图标是什么样子) ...

点回复您点错了,您看楼上我的描述,还是在报错

22

帖子

3

主题

0

精华

入门

F 币
90 元
贡献
48 点
10#
 楼主| 发表于 2018-7-24 20:10:27 | 显示全部楼层
fcode 发表于 2018-7-24 19:59
确认你的 matlab 和 fortran工程所配置的位数一致。比如都是32位或都是64位。

如果有其他 lib 文件,比如  ...

两个工程的配置应该没问题吧,我这是64位机器,安装时应该都是按照64位按的,fortran的位数该怎样查看呢?我把所有的lib文件都添加进去了,还是没什么变化。还有没有其他解决办法

微信图片_20180724200821.png (89.46 KB, 下载次数: 267)

微信图片_20180724200821.png
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-16 11:12

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表