`

vc6.0里使用lib(静态库)的方法

    博客分类:
  • VC++
 
阅读更多

博主:下面内容的“导入lib库方法2”教会了我调用动态库(DLL)时,是如何导入DLL的lib的。

摘自:http://www.cnblogs.com/webcyz/p/3525166.html

 

vc6.0里使用lib(静态库)的方法

 

vc6.0 中使用lib文件 使用库的方法如下:
1. 包含库的头文件(把库的头文件包含到项目中)
在应用程序工程中使用
#include "file path"
file path可以为绝对路径,也可以为相对于工程所在目录的相对路径

如果头文件比较多,可以在project>settings>c/c++>preprocessor的Additional include directories中填入你的头文件所在目录

 

2. 导入lib库。导入的方法很多
方法1) 直接用project>add to project>files的方式将.lib加入工程
方法2) 使用#pragma指令,如
#pragma comment(lib, "your lib path and name")
与前面头文件一样,也可以不在这里指定路径,而是在project>settings>link>input的Additional library path中输入.lib文件所在路径
方法3) 还可以在project>settings>link>general的ojbect/library modules中输入.lib的名字

 

3. 编译执行程序,如果是静态库,编译后就可直接执行(lib的二进制代码和用户代码一起链接到了exe文件中
如果是动态库,需要将dll放到可执行文件所在目录下,或者系统目录下,如system32或者windows目录,或者其它任何一个位于环境变量PATH中的目录

 

Note:.h头文件是不能编译的,所以lib文件里是不包含.h文件的,如果你生成.lib文件的源程序里有.h文件和.cpp(.c)文件,除了加入lib文件(上面的三种方法,个人建议第2种)外,你还需要手动的将.h文件加入到新项目里, 如果你生成.lib的源代码只有.c或.cpp文件,则不需要。

 

===========================================================

 

lib的一般使用

本文介绍用VC建立static lib,并且如何使用自己创建的库。

1)        新建一个win32 static library工程,默认“ok”-〉“finish”即可
 
 
2)        新建文件add.cpp和add.h到此工程
add.h文件如下
----------------------------------
#include <stdio.h>
int add(int x, int y);
----------------------------------
add.cpp文件内容如下
-----------------------------------------------------------------
#include "add.h"
int add(int x, int y)
{
 printf("This sum is caculated in a static lib:");
 return (x+y);
}
------------------------------------------------------------------
3)        编译库,成功编译后,可以在工程的“debug”文件夹中得到libproject.lib文件
4)        另外新建一个工程来使用这个lib,在这,我建立一个win32 console工程,命名为“libtest”,将add.h和生成的libproject.lib文件拷贝到libtest工程目录下,在libtest工程中添加库的add.h文件,
      在test.cpp文件内容如下
----------------------------------------------
#include "add.h"
#pragma comment(lib,"libproject.lib")
void main()
{
     int x=1, y=2;
     printf("%d/n",add(x,y));
}
 -----------------------------------------------

     编译libtest工程,并运行就可以看到输出结果如下:This sum is caculated in a static lib:3

分享到:
评论

相关推荐

    vc6.0加载lib库的方法

    本文将详细介绍如何在Visual C++ 6.0(简称vc6.0)环境中正确加载lib库,并解释了`#pragmacomment`指令的使用方法。 #### 1. 了解lib库 首先,我们需要了解lib库是什么以及它在软件开发中的作用。lib文件是一种...

    vc6.0 libCurl 简单使用

    本教程将介绍如何在VC6.0中集成libCurl静态库,并通过示例代码展示其基本用法。 首先,你需要下载libCurl的源码或预编译的库。在这个案例中,已经提供了一个个人编译的libcurl静态库,包括`libcurld.lib`和`libcurl...

    VC6.0--lib.rar_vc6.0 lib

    3. **MFC库**: 对于使用MFC开发的应用,需要选择相应的库配置,如多线程调试DLL或单线程静态库等。对应的.lib文件如mfcdll.lib、mfc42.lib等。 **总结** VC6.0中的.lib文件是静态链接库的代表,它们是开发过程中的...

    fltk-2.0.x-r6671在VC6.0下编译的静态库

    总的来说,FLTK-2.0.x-r6671在VC6.0下的静态库编译成果为那些仍坚持使用旧版IDE的开发者提供了便利,但同时也可能面临兼容性和效率上的挑战。在使用这些库时,开发者需要注意可能存在的问题,例如旧编译器的限制,...

    Vc6.0中使用DLL和LIB举例

    在VC6.0中使用DLL和LIB涉及到动态链接库(Dynamic-Link Library,DLL)和静态链接库(Library,LIB)的创建与使用。下面将详细介绍如何在VC6.0环境下进行DLL和LIB的创建与使用。 首先,我们来看如何在VC6.0中创建...

    VS打开VC6.0所需的LIBCDlib库

    标题“VS打开VC6.0所需的LIBCDlib库”指的是在使用Visual Studio 2005或2008打开由Visual C++ 6.0(VC6.0)创建的工程时,可能需要的一些特定库文件。这些库文件,特别是LIBCDlib库,对于在较新版本的VS中正确编译和...

    VC6.0中调用Matlab的编程方法

    综上所述,文章详细阐述了在VC6.0环境下调用Matlab的多种方法,包括使用Matlab Engine和mcc命令,不仅提供了理论基础,还附带了实际操作指南,对于从事科学计算、数据分析或应用开发的专业人士具有很高的参考价值。

    VC ++ 6.0环境中LIB与DLL文件的使用

    LIB文件是一种静态库文件,包含了编译器在链接阶段可以使用的预编译代码和数据。它通常由多个.obj文件组成,这些.obj文件是编译后的源代码片段。当链接器在生成最终可执行文件时,会根据程序中引用的函数或变量,从...

    SQLite VC6.0 使用库

    在本主题中,我们重点关注SQLite在Visual C++ 6.0(简称VC6.0)环境下的使用,包括如何配置SQLite库以及如何在VC6.0项目中集成和使用SQLite3.lib和SQLite3.dll文件。 1. **SQLite3.lib和SQLite3.dll**: - `SQLite...

    tinyxml_2.6.2 官方源码以及基于VC6.0生成的静态库

    ①tinyxml_2.6.2官方源码②基于VC6.0生成的动态库③已经测试通过,简单方便读写xml文件④同时提供了将xml格式的字符串转化为xml文档的接口⑤使用过程无需要安装其他辅助软件,只需要导入tinyxml.lib 、tinyxml.h,...

    VC6.0静态连接器

    5. **使用库**:在另一个项目中,需要引用这个静态库,通过“工程”&gt;“添加到项目”引入.lib文件,并在源代码中使用库的接口。 需要注意的是,VC6.0是一个较旧的开发环境,对于现代的Windows系统和C++标准支持有限...

    VC6.0 运行库参考手册

    对于那些需要运行使用VC6.0编译的程序但未安装相应运行库的用户,需要安装Visual C++ 6.0 SP6 Redistributable Package。 2. **依赖**:VC6.0编译的程序可能依赖于特定版本的运行库,因此在不同的操作系统上运行可能...

    opencv 1.0 静态态链接库winxp+vc6.0

    OpenCV 1.0的静态链接库解决了依赖于OpenCV DLL的问题,开发者在Windows XP环境下使用VC6.0开发程序时,不再需要在目标机器上安装OpenCV库,只需提供包含静态链接库的可执行文件即可。这对于部署和分发应用程序尤其...

    在VC6.0下可用的winhttp包

    这个“在VC6.0下可用的Winhttp包”包含了开发过程中所需的关键组件:`winhttp.h`头文件和`winhttp.lib`链接库,它们是Visual C++ 6.0(简称VC6.0)用户在利用WinHTTP进行编程时必不可少的。 `winhttp.h`头文件是C/...

    gzip的vc6.0调试环境

    - **文档资料**:查阅gzip的官方文档,理解其设计原则和使用方法。 - **社区讨论**:参与开源社区如GitHub,了解其他开发者的问题和解决方案,交流经验。 - **教程与文章**:阅读关于gzip源码分析的文章和教程,...

    PCRE8.12动态库和静态库带VC6.0对库使用的一个工程

    其实最重要的是调用静态库时在 工程—设置—C/C++—预处理程序添加PCRE_STATIC 至于为什么要添加是PCRE库的说明里写的,自己看 当然还要在 工程—设置—连接—输入—忽略库 里添上 MSVCRT.LIB 就没问题了

    sqlite3 vc6.0

    6. `sqlite`:这很可能是编译后的SQLite3库文件,可能包括.lib(静态库)和.dll(动态链接库),供其他应用程序使用。 7. `dlltest`:与`libtest`类似,这个目录可能包含了一些用于测试动态链接库功能的示例代码。 ...

    NetCDF 库 之 VC6.0 编译版本

    3. **设置编译选项**:在VC6.0的项目属性中,配置编译器选项以支持所需的特性,如多线程、静态链接库或动态链接库等。同时,确保编译器支持C99标准,因为NetCDF使用了C99的一些特性。 4. **配置依赖库**:NetCDF可能...

    显示jpg用vc6.0中picture控件

    1. **包含必要的头文件**:在源文件中,我们需要包含像`&lt;afxwin.h&gt;`、`&lt;jpeglib.h&gt;`等头文件,以使用MFC和JPEG库的函数。 2. **加载JPG文件**:使用标准C++文件流或Windows API读取JPG文件到内存。 3. **初始化...

Global site tag (gtag.js) - Google Analytics