vs c++ 动态库、静态库的创建与调用

生成动态库、静态库

一、 DLL项目的创建

1.创建项目:

菜单“文件"--->新建--->项目

项目类型:win32控制台应用程序

Win32应用程序向导--->应用程序类型:DLL--->附加选项:空项目--->完成

 

二、添加类

1.添加头文件:test.h

namespace myLib

{

    class myDll

    {

    public :

       // Returns a + b

       static __declspec(dllexport) double Add(double a, double b);

 

       // Returns a - b

       static __declspec(dllexport) double Subtract(double a, double b);

    };

}

请注意此代码方法声明中的 __declspec(dllexport) 修饰符。 这些修饰符使 DLL 能够导出该方法以供其他应用程序使用

 

2.添加源文件:test.cpp

#include "testdll.h"

 

namespace myLib

{

    double myDll::Add(double a,double b)

    {

       return a+b;

    }

 

    double myDll::Subtract(double a, double b)

    {

       return a-b;

    }

}

 

3.确认此项目配置类型为生成DLL

菜单“项目”--->“XXX项目属性”--->配置属性--->常规--->配置类型:选择“动态库dll”

 

三、生成

1.菜单“生成”--->生成解决方案

2.查看生成结果

 

注:若需生成静态库,在配置项目属性为静态属性lib

菜单“项目”--->“XXX项目属性”--->配置属性--->常规--->配置类型:选择“静态库lib”

 

 

 

 

使用动态库、静态库

一、新建项目

二、动态库环境的配置

1. 包含头文件目录

菜单“项目”--->项目属性--->配置属性--->vc++目录--->包含目录:添加上一步骤test.h文件所在目录

 

2.包含库文件目录

菜单“项目”--->项目属性--->配置属性--->vc++目录--->库目录:添加上一步骤生成的dll文件所在目录

 

3.1若为动态库,需引用动态库文件dll

菜单“项目”--->项目属性--->通用属性--->添加新引用--->添加上一步骤生成的dll文件

3.2若为静态库,需包含静态库文件lib

菜单“项目”à项目属性à配置属性à链接器à输入à附加依赖项:添加上一步骤生成的lib文件

在项目中添加代码:#pragma  comment ( lib , ”XX.dll” )

 

三、使用库文件

#include "testdll.h"

 

#include

using namespace std;

using namespace myLib;

 

int _tmain(int argc, _TCHAR* argv[])

{

    cout<

 

    return 0;

}