一个解决方案很复杂的时候,有很多的.h文件和.lib文件,很容易混乱。将一个解决方案分成多个工程,有的工程用来生成静态链接库.lib或者动态链接库.dll,有的用来做主函数进行调用,思路清晰,用起来也很方便。
本节讲如何生成静态链接库。
1.建立一个静态链接库
首先新建一个win32控制台应用程序,点击确定。点击“下一步”。选择“静态库”选项。完成即可。(本文中该项目库名称为lib)
如果你新建的是一个windows应用程序,可以右击点击属性,在“配置类型”中点击“静态库”
2编辑静态库内容
添加.h文件和.cpp文件。如下图,右击lib文件,添加新建即可。
编辑内容:
add.h
class add
{
public:
int add2num(int a,int b);
};
add.cpp
#include "stdafx.h"
#include "add.h"
#include <iostream>
int add::add2num(int a,int b)
{
std::cout<<"调用成功"<<std::endl;
return a+b;
}
要编译成功
3 建立exe文件
右击解决方案,添加新项目(本文中为abc),win32应用程序。建好后
4 调用和配置
----在abc中要引用lib文件,右击点击“引用”,添加新引用
----abc的头文件要加lib中你要引用的.h头文件。
----abc设为启动项
----abc的头文件要加lib中你要引用的.h头文件。
// abc.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "..//dll/add.h"
int _tmain(int argc, _TCHAR* argv[])
{
add a;
int b = a.add2num(4,5);
return 0;
}
或者另一种方式:
我可以把add.h头文件和lib.lib库文件复制我要调用的abc目录下。(lib文件在debug里),然后添加如下头文件
#pragma comment(lib,"lib.lib")
#include "add.h"
当你新建一个项目,需要调用我刚生成的lib时,也可以采用这种方法。
----abc设为启动项,右击设为启动项。调试即可
完成