sile123 发表于 2006-5-19 12:31

[求助] 编译失败,求助!!

编译错误,求高人指点下

我是把多个文件(包括callplotx)都编译,希望生成可执行文件,但到callplotx编译失败,帮帮忙啊!!

提示错误信息如下
>> mcc -B sglcpp callplotx
callplotx.cpp
callplotx.cpp(3227) : fatal error C1509: compiler limit : too many exception handler states in function 'Mcallplotx'. simplify function

MBUILD.BAT: Error: Compile of 'callplotx.cpp' failed.

??? Error using ==> mbuild
Unable to complete successfully

??? Error: An error occurred while shelling out to mbuild (error code = 1).
Unable to build executable (specify the -v option for more information).

Error in ==> D:\MATLAB6p5p1\toolbox\compiler\mcc.dll
>>

被编译的M-文件在如下,它是一个popupmenu的回调函数,vpop1是它的值,vpop2,vpop3是另外两个popupmenu的值,根据vpop1,vpop2,vpop3的值是否为1分几种情况分别作出相应操作:若vpop1>1&&vpop2>1&&vpop3>1,在某二处(假设为位置1和位置3)画图形;若(vpop2==1||vpop3==1)&&vpop1>1,只画位置1;若vpop==1,都不画。使用的是matlab6.5本人初次使用matlab的编译功能,不知道错在哪里,怎么修改,求高人帮助!!

happy 发表于 2006-5-19 18:07

回复:(sile123)[求助] 编译失败,求助!!

<P>看看帮助吧<BR><BR>When you save a GUI that contains ActiveX components, GUIDE creates a file in the current directory for each such component. The filename consists of the name of the GUI followed by an underscore (<TT>_</TT>) and <TT>activex</TT><I><TT>n</TT></I>, where <I><TT>n</TT></I> is a sequence number. For example, if the GUI is named <TT>ActiveXcontrol</TT> then the filename would be <TT>ActiveXcontrol_activex1</TT>. The filename does not have an extension.</P>
<P>If you use the MATLAB Compiler <TT>mcc</TT> command to compile a GUIDE-created GUI that contains an ActiveX component, you must use the <TT>-a</TT> option to add the ActiveX control files that GUIDE saved in the current directory to the CTF archive. Your command should be similar to</P><PRE>mcc -m mygui -a mygui_activex1
</PRE>
<P>where <TT>mygui_activex1</TT> is the name of the file. If you have more than one such file, use a separate <TT>-a</TT> option for each file.</P>

siyanger 发表于 2006-5-21 08:12

你将“Mcallplotx”中的M改为小写试一试可能就行了。
即将所有的函数名中的大写都改成小写。

[ 本帖最后由 ChaChing 于 2010-7-27 23:48 编辑 ]
页: [1]
查看完整版本: [求助] 编译失败,求助!!