matalb7与VC2008混合编程DLL方法(二)向VC中添加DLL库
本帖介绍VC中添加Matlab的m函数DLL库的方法。
下面的操作均在Microsoft Visual Studio 2008程序开发环境(英文版)下进行,实际操作顺序,按照下面介绍的顺序进行.
1.加入库
(1)进入设置界面 Project->工程名称 Property Pages(也就是Project菜单下面的最下面一项)
(2)Configuration 选为 Active(Debug)或Release,分别对应调试版和发布版
Platform 选为 Active(Win32)
(3)鼠标点击选中 Configuration Properties->Linker->Input
(4)右侧的窗口中在Aditional Dependencies 栏加入相关lib文件的文件名(包括文件后缀名lib),包括:
a.用户自己Matlab的m函数打包生成的lib文件
b.Matlab自己的lib文件mclmcrrt.lib,这个是必须有的
注:写入多个lib文件名时,中间用空格分隔开
如可以写为
libMy.lib mclmcrrt.lib
(5)加入库时需要注意的问题
我们也可以不在VS环境中加入库,而通过程序代码中加入,方法如下:
在需要使用lib的程序源文件*.cpp的头上加入如下代码:
#define InProgramming //正在程序设计中
#ifdef InProgramming //这是条件编译
//包含自己的matlab的m函数库文件
#pragma comment( lib, "libMy.lib")
//包含matlab自带的库文件,这里使用了相对路径,本文后面会进一步介绍
#pragma comment( lib, ".\\msvc71\\mclmcrrt.lib")
#endif
如果我们按照(5)之前的方法加入了库文件,则不需要这样的函数代码。
这样做以后,VS只知道了要包含的库的名称,但是库到底在计算机的什么位置上,还不知道,下面的设置就是为了解决这个问题。
2.设置库的路径
(1) 进入库路径设置界面
Tools->Options...
(2)鼠标选中Projects and Solutions->VC++ Directories
(3)Platform选择Win32
(4)Show directories for选择Include files,接下来的操作:
a.并在下面的窗口中,用鼠标双击最后一行文字的下面空白处,将会允许选择头文件的路径
b.应选择的路径为matlab安装目录下的 \extern\include
(5)Show directories for选择Include files,接下来的操作:
a.并在下面的窗口中,用鼠标双击最后一行文字的下面空白处,将会允许选择头文件的路径
b.应选择的路径为matlab安装目录下的 \extern\lib\microsoft\msvc71
(6)设置库的路径时需要注意的问题
a.绝对路径
在(4)和(5)步通过鼠标设置的路径都是绝对路径,这样的操作要求我们,每次在不同的机器上调试该工程的时候都要进行这样的设置,因为每台机器的matlab安装目录可能有所不同。
b.相对路径
为了不需要这样的繁琐设置,我们可以将matlab安装目录下的 “\extern\include”和“\extern\lib\microsoft\msvc71”这两个文件夹考入到工程的当前目录下,并且将(4)和(5)步设置的绝对路径改成相对路径。
相对路径的写法为 .\\include 和 .\\msvc71, 这里符号.\\表示当前文件夹.我们在前面1.(5)中已经使用了相对路径。