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)中已经使用了相对路径。

3.其它参考资料

(1)关于条件编译

可以看VC帮助,这个帖子也介绍一点http://topic.csdn.net/u/20081208/23/d0e674d5-30a1-4235-a030-17fc5b55be8d.html) 

完毕!

猜你喜欢

转载自blog.csdn.net/dreamofnous/article/details/7093534