各位网友:
我想在VC中调用MATCOM,首先通过Project\Add to project\选添加了matlib.h头文件和v4500.lib,也把这两个文件拷贝到了工程目录下,但是总是出现这样三个问题:
matlib.h(1749) : error C2143: syntax error : missing ')' before 'constant'
matlib.h(1749) : error C2143: syntax error : missing ';' before 'constant'
matlib.h(1749) : fatal error C1004: unexpected end of file found
在.cpp也添加了#include "matlib.h",总是不能用matcom,请教各位有遇到这样的问题吗?先谢谢各位了!

解决方案 »

  1.   

    是你的代码有问题吧,可能是参数类型不对。
    最好把MATCOM的几个工具按钮加进VC,直接用MATCOM编译代码
    好久不用MATCOM了
      

  2.   

    是不是需要别的头文件啊!Matcom独立于matlab之外,但需要外部的c++ compiler,在安装时需要
    指定c++ compiler的未知,否则无法工作。安装的时候需要指定matlab
    的位置主要是为了编译文件中需要的一些系统函数来找到路径用的。
      

  3.   

    这是出错的地方,Mm DLLI sqrtm(cMm x, i_o_t, Mm& S, Mm& err);(实际是matlib.h头文件的内容)。我想在VC中用matcom的计算矩阵的函数,只是这两简单的语句: initM(MATCOM_VERSION);
    exitM();屏蔽掉了其他语句,都不行。我又重新安装了matcom,当出现是否安装VC时,选择了“是”不知什么原因!
      

  4.   

    我是这样安装matcom的:
    1,安装之前,首先在matlab的安装目录下建立文件夹:\MATLAB701\bin\toolbox\matlab\general;
    2,第一次运行时,MATcom4.5自动搜索VC编译器并提示用户是否安装,之后提示是否安装有MATLAB,回答是。
    3,之后启动MATLAB,运行以下命令:cd c:\matcom45 % MATcom的安装路径
                                      diary mpath
                                  matlabpath
                                  diary off
    4,拷贝<matcom45>\bin\usertype.dat文件(<matcom45>指Matcom的安装路径)到<visual c++>\Common\MSDev98\Bin目录(<visual c++>指VC的安装路径)下
    5,运行Visual C++,从菜单条中选择Tools/Customize/Add-ins and Macro Files,选择Browse,改变文件类型为Add-ins(.dll),选定<matcom45>\bin\mvcide.dll文件,确定
    6,可以在Visual C++的开发环境中看到一个Visual Matcom工具栏
    7,首先通过Project\Add to project\选添加了matlib.h头文件和v4501.lib,在.cpp添加了#include "matlib.h",
    8,程序中输入了:initM(MATCOM_VERSIONT);exitM();但是,运行VC时总是提示下面三个错误:c:\matcom45\lib\matlib.h(1749) : error C2143: syntax error : missing ')' before 'constant'
    c:\matcom45\lib\matlib.h(1749) : error C2143: syntax error : missing ';' before 'constant'
    c:\matcom45\lib\matlib.h(1749) : fatal error C1004: unexpected end of file found
    我试着把matlib.h文件和其他.lib文件拷到vc工程里面,但会变成提示工程内的matlib.h出现上面三个问题。
    不知哪里的原因,请各位指教!
      

  5.   

    #include "stdafx.h"
    #include "matlib.h"
      

  6.   

    #include "stdafx.h" 
    #include "matlib.h"
    这两个头文件我都添加了
      

  7.   

    不行的话试试将M文件在MATCOM中直接生成C++函数代码,再加入VC试试。
    我以前都是将算法函数用M文件中写好,在MATCOM中编译无误后,直接生成C++函数代码,再加入VC中。
      

  8.   

    问题已解决,主要原因是我的工程调用了matlab,也调用matcom,有冲突,我把调用的matlab的#include "engine.h"去掉就没事了,很奇怪!