VS2005 如何应用静态库
本文档以Visual Studio 2005 为例,向大家展示如何编写,调用静态库。本文档的主要精力将放在第二部分。展示如下在新的工程中调用别人已经编写好的静态库。
1.    编写自己的静态库
这部分不是本文档的主题。代码中我们将实现两个数的加法运算。编写MathFun 类。头文件:MathFun.h 实现如下:
#pragma once
 
class MathFun
{
public:
      MathFun(void);
public:
      ~MathFun(void);
public:

      int add(int a,int b);

};
源文件MathFun.cpp 实现如下:
#include "MathFun.h"
 
MathFun::MathFun(void)
{
}
 
MathFun::~MathFun(void)
{
}
int MathFun::add(int a, int b)
{

      return a+b;

}

将次工程编译称静态链接库。那么编译完以后,对我们有用的有2个文件。分别是 1.以工程名字生成的静态链接库。2.工程头文件。本工程是2个文件:LibSource.libMathFun.h

2.    调用静态库
下面我们主要写程序来调用静态库。因为我们从第一个工程提供给第二个工程的就是2 个文件。因此我们只需要告诉系统去哪里寻找这2 个文件就可以了。
2.1. 通过配置项目属性完成

1.     指定包含头文件。依次点击 项目->属性->配置属性->C/C++->常规->附件目录包含.这里配置头文件包含.截图如下:

 

2.     指定Lib文件路径。依次点击项目->属性->配置属性->链接器->常规->附加库目录.在这里配置目录

3.     指定Lib文件。依次点击项目->属性->配置属性->链接器->输入->附加依赖项.在这里配置包含的静态链接库

 
 
项目源文件就非常简单了. 代码如下:
 
#include "MathFun.h"
#include <iostream>
using namespace std;
int main()
{
     MathFun m1;
     cout<<m1.add(5,8)<<endl;
     return 0;
}
程序运行结果如下:
 
2.2. 通过代码实现
通过代码实现主要是告诉编译器去哪里寻找响应的.h .cpp 文件就可以了. 程序代码如下:

#include<iostream>

#include"E:/project/othercompany/MathFun.h"

#pragma comment(lib,"E:/project/othercompany/LibTest.lib")

using namespace std;

int main()

{

       MathFun test;

       int sum=test.add(20,30);

       std::cout<<sum<<endl;

       return 0;

}

程序运行结果如下图: