小弟要在vc中调用matlab的库函数,比如本征分解函数eig。看了一些相关帖子,大概好像是要用到一些.lib文件。但是还是不得其路,故希望能有高手解决这个问题,同时也帮小弟解了这个燃眉之急。

解决方案 »

  1.   

    针对比如本征分解函数eig之类的问题,有一个很简单的解决办法,就是找到matlab里的实现eig的m文件,然后在Vc下面新建一个matlab peoject ,添加该m文件,将其转化为C/C++代码,非常方便,一次成功!
    不过如何将m里的输入参数,转化到VC里对应的输入参数,小弟还在研究中
    虽然找到了一个解决的办法,但是很笨的办法,我相信有更好的办法!
      

  2.   

    我觉得是,你需要把.lib文件包含进入你自己的project,
    具体步骤;
    in VC++, project menu->setting->link属性页中,object/library modules
    中输入matlab的库文件,
    顺便问一下,你是学自动化的吗
      

  3.   

    ljan(冰魂) :你的方法是可行的,我一个朋友也用的是这种方法,可以解决这个问题。我是学图象的。
    zkong(绯村剑心): 你用的什么办法?
      

  4.   

    转贴:
    VC中matlab6.x C++数学库的使用 
    (1) 在: Tools->Options->Directories, 选择: "Include files", 
    添加: D:\MatlabR12\extern\include\cpp, D:\MatlabR12\extern\include, 
    "D:\MatlabR12" Matlab6的按装目录 
    (2) 在: Tools->Options->Directories, 选择: "Library files", 
    添加: D:\MatlabR12\extern\lib\win32\microsoft\msvc60, D:\MatlabR12\extern\li 
    b\win32. 
    "D:\MatlabR12" 是MATLAB6的按装目录 
    (3)在: Project->Settings->General->Microsoft Foundation Classes, 选择“Use 
    MFC in a shared DLL”. 
    (4) 在: Project->Settings->C/C++->Category (General), 在 Preprocessor Defini 
    tions, 输入以下内容: 
     WIN32,_DEBUG,_WINDOWS,_AFXDLL,_MBCS,IBMPC,MSVC,MSWIND,__STDC__
    (5) 在: Project->Settings->Link->Category (General), 在 Objects/library modu 
    les, 添加如下库文件: 
    libmatpm.lib libmmfile.lib libmatlb.lib libmat.lib libmx.lib (6) 在:Project->Settings->Link->Category (Input), 在 Ignore Libraries, type 
    : MSVCRT