创建.lib文件及其使用

 

 

创建lib

 

1创建静态库 

要创建静态库,选择File->New菜单,弹出New对话框。选择Projects标签,在项目类型列表框中选择Win32 Static Library,在Name中输入MyLib,表明要创建一个MyLib.lib的静态库文件,下一步什么也不选,直接完成。 

2.加入一个头文件(12345.h),里面加入代码 

#ifndef _MYMATH_H 

 

#define _MYMATH_H 

extern "C" 

int MyFunc(int n);//在大括号内进行函数的声明 

 

 

#endif 

 

3.加入一个源文件(5678.cpp),里面加入函数的定义代码,注意在开始引入12345.h 

即 

#include"12345.h" 

int MyFunc(int n) 

return n+=1003; 

4.编译生成静态库MyLib.lib 

5.测试静态库 

生成一个程序,把MyLib.lib和12345.h拷入与这个程序的dsw文件同一目录下,再用Project->Add to Project->Files命令,将MyLib.lib加入到工程中 

再用代码引入头文件#include "12345.h" 

6.用代码测试成功 

int a=MyFunc(2); 

CString s; 

s.Format("jiguo is %d",a); 

MessageBox(s);  

 

转自:http://hi.baidu.com/yu_xiyan/blog/item/13e03c94d6989a15d31b7022.html

 


 

dll的创建以及使用参见:

 

http://www.360doc.com/content/10/0915/11/3214106_53798610.shtml

 

 

 


 

 

.lib文件可以让别人来调用你的工程,但是只能允许C++调用,而且需要同时提供所要使用类的头文件以及该工程的.lib文件。

 

有两个工程 project A & project B,project A 中有类class a。现在想要在project B中使用类a的行为。

 

方法一:

step1: 右键单击project A工程名->configuration properties->General->Configuration Type中,选择Static Library(.lib)。这样,在外层Debug文件夹中会产生以该工程名命名的.lib文件。

step2: 将类a的头文件以及上述所创建的.lib文件拷贝到project B所在的文件夹下。

step3: 在工程B中使用类a时,需要包含以下两个语句:

 #include "a.h"

 #pragma comment(lib, "A.lib")

 

方法二:

step1: 如上

step2: 省略

step3: 在工程B中使用类a时,使用相对路径来包含头文件

 #include "..//A//a.h"

 #paragma comment(lib, "..//Debug//A.lib")

注:工程名与该工程所在的文件夹名是一样的。方法一跟方法二是同一种创建方法,使用的方式也是一致的,只是方法二用了相对路径。

 

方法三:

step1: 右键点击solution名->Add New Project->Visual C++->CLR->Class Library,命名为C。就像添加一般的工程一样。

step2: 右键单击C工程名->configuration properties->General->Configuration Type中,选择Static Library(.lib)。

step3: 然后再该工程中,任意添加类,行为等。

step4: 使用方法同方法一和方法二的step3。

 

注意:

创建MFC工程的.lib文件时, 需要修改两处:

1. 需要在该MFC工程的stdafx.h中添加#define _AFXDLL;

2. 右键单击使用的工程, properties->c/c++->code generation->runtime library中将MDd改为MD.

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值