MrLIN 发表于 2018-7-20 10:55:49

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

本帖最后由 MrLIN 于 2018-7-20 10:55 编辑

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

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

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

胡文刚 发表于 2018-7-20 13:16:49

本帖最后由 胡文刚 于 2018-7-20 13:17 编辑

VS要开启预处理。项目菜单,属性,Fortran展开,Preprocessor,Preprocess source file 改为 Yes
给错误提示的话,请直接“输出窗口”复制粘贴,不用截图,尤其是不要对“错误列表”截图

MrLIN 发表于 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只剩一个错误了:-P:错误      1      fortran_matlab_test : error PRJ0019: A tool returned an error code               
按照网上的普遍说法处理也无济于事:
C:\用户\user.USER-PC\桌面

胡文刚 发表于 2018-7-20 22:30:38

输出窗口,全部复制粘贴。

MrLIN 发表于 2018-7-20 22:38:04

胡文刚 发表于 2018-7-20 22:30
输出窗口,全部复制粘贴。

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

胡文刚 发表于 2018-7-20 22:44:10

你确定是“输出窗口”,而不是“错误列表”窗口?
如果你不确定,请截图

MrLIN 发表于 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 ...
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 个 ==========
找不到头文件。。。。

fcode 发表于 2018-7-23 16:27:16

这是找不到 fintrf.h 你需要找到这个文件,然后把它的目录添加到“工程属性”中的 Additional Include

MrLIN 发表于 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






fcode 发表于 2018-7-24 07:57:01

matlab\extern\lib\win32\microsoft 下有一个类似 mclcommain.lib 把它加入工程
贴图通过上传附件功能实现。
页: [1] 2 3
查看完整版本: VS2013+Intel Parallel Studio XE 2018 for Fortran与Matlab2016a混合编程问题