0引言MatLab中有着极其丰富的数学函数,充分利用它的函数资源可以快速有效地实现数据处理中的许多数学运算。Matlab中同样也提供了可供C/C++语言调用的C/C++数学函数库,并且函数库中有大量的矩阵运算函数,在VC++中可以直接使用这些函数。调用Matlab函数库的方法主要有:利用Matlab引擎;利用Matlab自带编译器MCC;利用MATCOM转化;VC++调用MEX程序;调用MATLAB生成的COM组件;直接调用Matlab函数库[1-4]。本文主要讨论VC++直接调用MatLab数学函数库的关键设置问题,并给出详细实例。1调用Matlab函数库的关键VC++直接调用MatLab数学函数库的关键有三个:其一是将有关的扩展名为def的定义文件生成静态连接库;其二是进行VC++编译环境的设置;其三是在VC++程序中加入matlab.h头文件,并在工程文件中加入有关的lib文件。利用Matlab引擎调用Matlab命令时,同样要进行这三个方面的设置。1.1生成静态连接库在MatLab系统文件夹路径externinclude下含有扩展名为def的定义文件如libmx.def,libmat.def,libmatlb.def,libmmfile.def等,利用VC++的lib.exe、link.exe和mspdb60.dll可以将这类文件生成静态连接库。具体做法:分别将ProgramFilesMicrosoftVisualStudiovc98bin下的lib.exe、link.exe和ProgramFilesMicrosoftVisualStu-diocommonmsdev98下的mspdb60.dll复制到MatLab系统文件夹externinclude下。进入DOS状态,将当前目录转到MatLab系统文件夹名externinclude下。用以下命令格式分别将libmx.def,libmat.def,libmatlb.def,libmmfile.def编译成lib静态连接库文件。命令格式:lib/def:文件名.def/machine:ix86/out:文件名.lib。注意以上命令中空格“”是不可缺少的。如将libmx.def编译成libmx.lib,可执行命令:lib/def:libmx.def/machine:ix86/out:libmx.lib。经过编译生成的其它lib文件有libmat.lib,libmatlb.lib,libmmfile.lib,libeng.lib。1.2VC++编译环境设置生成lib文件后,需要做的是打开VC++,进行编译环境设置。在编译环境目录Libarayfiles中增加路经:c:matlab6p5externlib,指明MatLab函数库的路经:c:matlab6p5externlibwin32microsoftmsvc60,或是将MatLab函数库路径设定到MatLab系统文件夹externlibwin32digitaldf60下,此文件夹含有系统自带的lib文件,如缺少一些lib文件,仍需要用lib命令生成。在编译环境目录Includefiles中增加路经c:matlab6p5externinclude和c:matlab6p5externincludecpp,指明头文件所在的路经。其中matlab6p5是MatLab系统目录。1.3在VC++工程中加入lib文件打开VC++系统,由AppWizard应用程序向导新建一应用程序,在FileView组框中利用“工程->增加到工程->文件”将libmx.lib,
matlab数学函数库路径,VC++直接调用MatLab数学函数库的关键
最新推荐文章于 2021-07-28 11:10:00 发布