vs2010 动态库的生成和使用

来源:互联网 发布:简单绘图软件 编辑:程序博客网 时间:2024/05/16 09:47

动态库的生成:

对于已经完成的MFC项目,要修改生成动态库(dll),方法如下:

1、vs2010打开项目,选择  项目属性-》配置属性-》常规-》配置类型  选择动态库(dll), 其次在链接器-》常规 中的输出文件修改输出文件的文件后缀即可

2、对于要导出的函数,有两种方法,使用模块定义文件(def)和直接在函数的声明出定义即可

     使用模块定义文件时,首先在项目中添加一个新文件(模块定义文件def),内容如下:

     LIBRARY

    EXPORTS

    add             //要导出的函数的名字


    另一种方法是增加一个头文件 Dll.h,内容如下:

_declspec(dllexport) int add(int a, int b);

当被人需要使用该库中的导出函数的时候,只需要包含该头文件,不需要另外的extern函数声明。

但是这种方法有缺陷,导出的函数经过c++的编译器,会导致导出函数的名字发生改变,为防止此种情况的发生,

通常在头文件中声明的时候,添加   extern "C";

即:  extern “C”  _declspec(dllexport) int add(int a, int b);

但是这种方法只适用导出全局函数,不能用于导出一个类的成员函数。若要导出一个类的成员函数,用第一个方法(模块定义文件)

3、对于生成的库,要查看其中的导出函数,可用以下方法

在命令提示符模式下,输入dumpbin -exports  *.dll

正常情况下,会提示找不到dumpbin命令,此时不用担心,找到vs2010的安装目录,找到vcvars32.bat文件即可,一般该文件的目录如下,F:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat,在命令提示符窗口下运行该程序即可(这个文件是在设置dumpbin命令的环境变量)。若关闭该窗口重新打开需要重新执行一次该文件命令。若运行该文件后依然找不到dumpbin命令,则可能是vcvars32.bat文件有错误,需要网上重新下载一个该文件即可。

4、使用上述生成的动态库的方法

1. 将生成的dll和lib文件拷贝到新项目中的源文件目录下

2. 将头文件Dll.h添加到新项目中,包括将该其拷贝和在项目中添加该文件

3. 在新项目中,项目属性->链接器->输入 中添加lib文件的名字 *.lib

4. 在新建项目的源文件中添加   #pragma  comment(lib, "*.lib")

5、MFC程序打包为安装文件

1. 打开vs2010,新建项目为 其他项目类型->visual studio Installer->安装项目

2. 在解决方案处,添加已有项目,将需要打包的项目文件(.vcxproj)添加进去

3. 在新的项目中,右键选择 添加->项目输出,选中新添加的要打包的项目

4. 选择生成,即可生成一个setup的安装文件


0 0
原创粉丝点击