回 帖 发 新 帖 刷新版面

主题:[讨论]matlab2008a与VC++6.0生成COM组件,出错

想matlab2008a和VC++6.0(中文版)生成COM组件,电脑操作系统是win7 64位,VC++6.0有点不兼容,但也能运行。

系统自带了VC++2005和VC++2010插件。操作如下

打开matlab进行编译器设置时,输入mbuild -setup,显示的编译器为:

Select a compiler:
[1] Microsoft Platform SDK 14.0
[2] Microsoft Visual C++ 2005
[3] Microsoft Visual C++ 2008
 
[0] None

系统安装了VC++6.0,却没有识别。

但是Microsoft Visual C++ 2005和Microsoft Visual C++ 2008都没有安装,因此我选择[2] Microsoft Visual C++ 2005。

由于系统没有安装[2] Microsoft Visual C++ 2005 ,所以找不到Microsoft Visual Studio\VC98\INCLUDE;所以我在设置VC++的include 和 liabrary DIRECTORY  时,写成了VC++6.0的这两个路径了。

但是在build的时候出错,错误提示为:

mcc -F 'D:\nnforcast\procast\procast.prj'


mcc -W 'com:procast,procastclass,1.0' -d 'D:\nnforcast\procast\procast\src' -T 'link:lib' -C -M -ID:\Program Files\Microsoft Visual Studio\VC98\INCLUDE -M -LD:\Program Files\Microsoft Visual Studio\VC98\LIB 'class{procastclass:D:\nnforcast\nnforcast.m}' -a 'D:\nnforcast\cf.mat' -a 'D:\nnforcast\ex.mat' -a 'D:\nnforcast\o2.mat' 
mwcomtypes.idl
 
  D:\PROGRA~2\MATLAB\R2008A\BIN\MEX.PL: Error: IDL compile of 'mwcomtypes.idl' failed.
 
Error: An error occurred while shelling out to mbuild (error code = 9).
Unable to build executable (specify the -v option for more information).
??? Error using ==> mcc
Error executing mcc, return status = 1.

 

There were errors during compilation process.

应该不是因为VC++是中文版的原因吧?因为在老师的电脑上也是中文版的,却能够生成这个COM组件呢。

大牛们帮忙给看下这是什么错误啊?

 

回复列表 (共4个回复)

沙发

自己解决了。matlab64位不能识别装在电脑上的VC++,在网上看有说,遂改装32matlab,这样matlab就能够识别VC++6 0了。

此时,电脑已安装了fortran6.5,VC++6.0,可是由于是win7 64位操作系统,在生成COM仍会出错。

上网查找,听说,将系统改为经典模式(在个性化中选择),然后进行matlab的mbuild -setup,选择VC++6.0,至设置done完成,再deploytool,即可进行matlab的COM组件生成工作。

若还会出错,就再重装fortran6.5和VC++。不用先卸载,覆盖安装即可。由于本人用fortran,所以两个都重装了。

目的实现后,将系统的个性化解除经典模式,回复自定义桌面,仍可实现matlab的组件生成工作。

这个是自己解决的,很有成就感哦!嘿嘿

板凳

关于win7 64位安装fortran 和VC++,本人,先安装fortran6.5,在安装文件中的X86文件夹下的SETUPX86.exe,先右键设置兼容性为xp(pack3),然后运行.exe进行安装。


然后安装VC++6.0中文版的,英文版的我尝试几次都不行。安装时,到VC++.6.0.with.SP6\VC6CN中,将SETUP.exe的兼容性右键设置为xp(pack3),然后运行进行安装,于此同时,我还将ACMBOOT.EXE和SMSINST.EXE的兼容性右键设置为xp(pack3),(因为安装过程中会提示这两个.exe不兼容),然后安装完成。


安装完成后,先从VC++中打开fortran工程文件,可以运行。之后在用fortran打开fortran程序也可以运行了。


至此完成forrtan和VC++的安装。

3 楼

[quote]
目的实现后,将系统的个性化解除经典模式,回复自定义桌面,仍可实现matlab的组件生成工作。

这个是自己解决的,很有成就感哦!嘿嘿[/quote]

很郁闷的是,我自己解决了,居然还不能给自己加分。可怜我这个菜鸟级别的专家分还是个小小的0。
哎,算是帮助一下,以后会碰到类似问题的同学吧!

4 楼

我之前回复过的,怎么没有了

我来回复

您尚未登录,请登录后再回复。点此登录或注册