MrLIN 发表于 2018-7-24 20:39:06

fcode 发表于 2018-7-24 20:13
从你之前的回答

来看,你的 工程是 32 位的。按以下方法切换为64位

厉害了,果然是,少了很多错误,还剩3个:-lol

kyra 发表于 2018-7-24 20:41:36

本帖最后由 kyra 于 2018-7-24 20:49 编辑

现在是缺少主程序和 yprime 函数了。前者需要你自己补充,后者也应该是用户书写的,不是matlab提供的

MrLIN 发表于 2018-7-24 21:13:53

kyra 发表于 2018-7-24 20:41
现在是缺少主程序和 yprime 函数了。前者需要你自己补充,后者也应该是用户书写的,不是matlab提供的
...

好像是这样的,这是MATLAB里混合编程的范例,我换了个范例,只提示两个错误:
错误        1       error LNK2019: 无法解析的外部符号 MAIN__,该符号在函数 main 中被引用        libifcoremdd.lib(for_main.obj)       
错误        2       fatal error LNK1120: 1 个无法解析的外部命令        x64\Debug\fortran_matlab_test.exe       
如果自己编写mex到这一步是否可以认为成功了呢?


还有个问题请教,matlab里关于混合编程的语言配置问题, 选择mex -setup FORTRAN,出现以下错误该如何处理?



kyra 发表于 2018-7-25 08:30:14

你的图片里用的是 mex -setup 而不是 mex -setup fortran

MrLIN 发表于 2018-7-25 09:05:49

kyra 发表于 2018-7-25 08:30
你的图片里用的是 mex -setup 而不是 mex -setup fortran

我试了三种方式:

第一种,先输入mex -setup 再点提示中的mex -setup FORTRAN

第二种,直接输入mex -setup fortran

第三种,直接输入mex -setup FORTRAN(区分下大小写,哈哈)

三种操作最终显示的错误都一样的


kyra 发表于 2018-7-25 09:13:38

说明 matlab 没有检测到你安装了被它支持的编译器(中的任何一款)

每个 matlab 版本都有自己支持的编译器列表,这些列表中也指定了编译器的版本,不匹配的话没法用。
(这样可能导致你的matlab不能调用fortran代码,但fortran调用matlab应该没问题)

MrLIN 发表于 2018-7-25 10:21:17

kyra 发表于 2018-7-25 09:13
说明 matlab 没有检测到你安装了被它支持的编译器(中的任何一款)

每个 matlab 版本都有自己支持的编译器 ...

我设置车C++的语言可以正常运行,唯独这个FORTRAN的不可以。。。:'(
页: 1 2 [3]
查看完整版本: VS2013+Intel Parallel Studio XE 2018 for Fortran与Matlab2016a混合编程问题