您的位置:首页 > 其它

VS2005环境下生成静态lib库及调用方法

2011-03-17 19:49 197 查看
[align=left] VS2005环境下生成静态lib库及调用方法[/align]
[align=left]生成lib方法:[/align]
[align=left] [/align]
步骤1
新建一个空项目,建一个头文件如Test.h
[align=left] [/align]
[align=left]#pragma once [/align]
[align=left]#ifdef __cplusplus [/align]
[align=left]extern "C" { [/align]
[align=left]#endif [/align]
[align=left] [/align]
[align=left] int GetMin(int a, int b); [/align]
[align=left] [/align]
[align=left]#ifdef __cplusplus [/align]
[align=left]} [/align]
#endif
//其实只要 int GetMin(int a, int b);这么一句语言也会通过,其他的语句仅仅表明一个头文件在很多情况下并不是这么简单的,会有很多的定义

步骤2:
新建一个源文件如Test.cpp
[align=left]#include "Test.h" [/align]
[align=left]int GetMin(int a, int b) [/align]
[align=left]{ [/align]
[align=left] return (a < b) ? a : b; [/align]
[align=left]} [/align]
//这里定义一个两者取较小值的函数

步骤3:
选择配置属性->常规,配置类型选“静态库(.lib)”, 确定后再编译,这时会在工程所在文件的debug文件夹下产生一个.lib的静态链接库。至此,生成工作完成。

[align=left]调用lib方法:[/align]
[align=left][/align]
[align=left]调用方法有两种:[/align]
[align=left]第一种:项目设置中引用,在项目的属性中设置。[/align]
[align=left]第二种:在代码中使用 #progma comment(lib,"lib文件名");[/align]
[align=left]这里介绍第一种方法。[/align]
[align=left]右键单击项目,有三个地方需要添加lib库的目录和头文件的目录。[/align]
[align=left] [/align]
[align=left]步骤一:[/align]
[align=left]右键单击项目—>属性—>配置属性—>C/C++—>常规—>附加包含目录[/align]
[align=left]在其中填入头文件所在的目录,可以是绝对路径,也可以相对路径(“..”两个点表示上一层目录,“.”一个点表示同级目录,这是相对你工程所在的目录而言的)[/align]
[align=left] [/align]
[align=left]步骤二:[/align]
[align=left]右键单击项目—>属性—>配置属性—>链接器—>常规—>附加库目录[/align]
[align=left]在其中填入lib库的目录,也可以是相对或绝对路径。[/align]
[align=left] [/align]
[align=left]步骤三:[/align]
[align=left]右键单击项目—>属性—>配置属性—>链接器—>输入—>附加依赖项[/align]
[align=left]在其中填入lib库的名称,如:Test.lib[/align]
[align=left] [/align]
[align=left]步骤四:[/align]
[align=left]新建一个控制台应用程序进行测试[/align]
[align=left] [/align]
[align=left]#include "stdafx.h"[/align]
[align=left]#include "..\..\Test\Test\Test.h" //注意:这里要include进头文件并且指明路径,或者你可以把头文件直接考到你的工程目录下,并在工程的头文件下把.h文件包含进来,这样只要用 #include “Test.h”就可以[/align]
[align=left]#include "iostream"[/align]
[align=left]using namespace std;[/align]
[align=left]int main()[/align]
[align=left]{ [/align]
[align=left] int a = 11, b = 12; [/align]
[align=left] int c;[/align]
[align=left] while(1)[/align]
[align=left] {[/align]
[align=left] c = GetMin(a, b);[/align]
[align=left] cout<<c<<endl;[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] return 0;[/align]
[align=left] [/align]
[align=left]}[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]本文出自 “老部长” 博客,请务必保留此出处http://jackyhuang.blog.51cto.com/2862481/517979
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: