matlab调用fortran的mex文件出错:matlab has encountered an internal problem
首先感谢messenger和liuyalong008的帮助mex -setup设置成功,我用的是intel visual fortran11.1和matlab R2008a
做taohe《深入浅出matlab 7.x 混合编程》125页例4-4时,文件入下:
然后matlab下运行mex -v sample.for
This is mex, Copyright 1984-2007 The MathWorks, Inc.
-> Default options filename found in C:\Documents and Settings\qushen\Application Data\MathWorks\MATLAB\R2008a
----------------------------------------------------------------
-> Options file = C:\Documents and Settings\qushen\Application Data\MathWorks\MATLAB\R2008a\mexopts.bat
MATLAB = D:\MATLAB\R2008a
-> COMPILER = ifort
-> Compiler flags:
COMPFLAGS = /fpp /Qprec "/ID:\MATLAB\R2008a/extern/include" -c -nologo -DMATLAB_MEX_FILE /fixed /MD /fp:source /assume:bscc
OPTIMFLAGS = -Ox -DNDEBUG
DEBUGFLAGS = /Z7
arguments =
Name switch = /Fo
-> Pre-linking commands =
-> LINKER = link
-> Link directives:
LINKFLAGS = /DLL /EXPORT:MEXFUNCTION /LIBPATH:"D:\MATLAB\R2008a\extern\lib\win32\microsoft" libmx.lib libmex.lib libmat.lib /implib:"C:\DOCUME~1\qushen\LOCALS~1\Temp\mex_6nJuOO\templib.x" /MAP:"sample.mexw32.map" /NOLOGO /INCREMENTAL:NO
LINKDEBUGFLAGS = /debug /PDB:"sample.mexw32.pdb"
LINKFLAGSPOST =
Name directive = /out:"sample.mexw32"
File link directive =
Lib. link directive =
Rsp file indicator= @
-> Resource Compiler = rc /fo "mexversion.res"
-> Resource Linker =
----------------------------------------------------------------
--> ifort/fpp /Qprec "/ID:\MATLAB\R2008a/extern/include" -c -nologo -DMATLAB_MEX_FILE /fixed /MD /fp:source /assume:bscc /FoC:\DOCUME~1\qushen\LOCALS~1\Temp\mex_6nJuOO\sample.obj -Ox -DNDEBUG -DMX_COMPAT_32 D:\MyProjects\mextry\sample.for
Contents of C:\DOCUME~1\qushen\LOCALS~1\Temp\mex_6nJuOO\mex_tmp.rsp:
C:\DOCUME~1\qushen\LOCALS~1\Temp\mex_6nJuOO\sample.obj
--> link /out:"sample.mexw32" /DLL /EXPORT:MEXFUNCTION /LIBPATH:"D:\MATLAB\R2008a\extern\lib\win32\microsoft" libmx.lib libmex.lib libmat.lib /implib:"C:\DOCUME~1\qushen\LOCALS~1\Temp\mex_6nJuOO\templib.x" /MAP:"sample.mexw32.map" /NOLOGO /INCREMENTAL:NO@C:\DOCUME~1\qushen\LOCALS~1\Temp\mex_6nJuOO\mex_tmp.rsp
Creating library C:\DOCUME~1\qushen\LOCALS~1\Temp\mex_6nJuOO\templib.x and object C:\DOCUME~1\qushen\LOCALS~1\Temp\mex_6nJuOO\templib.exp
--> del "sample.mexw32.map"
--> del "C:\DOCUME~1\qushen\LOCALS~1\Temp\mex_6nJuOO\templib.x" "C:\DOCUME~1\qushen\LOCALS~1\Temp\mex_6nJuOO\templib.exp"
--> mt -outputresource:"sample.mexw32";2 -manifest "sample.mexw32.manifest"
Microsoft (R) Manifest Tool version 5.2.3790.2075
Copyright (c) Microsoft Corporation 2005.
All rights reserved.
--> del "sample.mexw32.manifest"
这应该是编译没问题吧?
然后给出x的值
>> x=2.0
>> y=sample(x)
matlab就出现错误了
这是什么错误啊,我完全照例题做的,只是文件名换了一下罢了。
请大侠出手给看看,多谢了! 图像可能不清晰,附件如下 你好,我现在也遇到这样的问题,请问你的问题解决没?
页:
[1]