作者:宝丁2502907973 | 来源:互联网 | 2023-05-19 07:26
生成lib和使用lib方法详解由于曾经在调用lib文件配置环境没有成功,特地研究了下lib文件,写一篇文章来简单叙述lib文件的编写使用。(支持开源哦~)生成lib
生成lib和使用lib方法详解
由于曾经在调用lib文件配置环境没有成功,特地研究了下lib文件,写一篇文章来简单叙述lib文件的编写使用。(支持开源哦~)
生成lib
首先环境是VS2010,其它环境大同小异,请自己尝试。新建一个Win32项目,点击下一步,然后选择静态库,取消预编译头。点击完成。
添加新建项demo1.cpp和demo.h。大家有木有疑问为什么extern语句,因为在cpp中定义了两个函数,而生成lib后在新的项目调用这两个函数时可能没有,所以就需要在这里声明下,如果编译找不到这两个函数就不要找了,防止编译不了。当然,你定义九个函数就要写几个。然后编译就好了。
下面是demo.h
#ifndef LIB_H
#define LIB_H
extern "C"int add(int a,int b);
extern "C"int zhao();
#endif
下面是demo1.cpp
#include "demo1.h"
#include "iostream"
int add(inta,int b)
{
return a+b;
}
int zhao()
{
printf("开心学习,努力人生\n");
return 0;
}
使用lib
使用lib时首先要找到刚才定义的lib,打开刚才的项目,搜索会发现,头文件名是项目中定义过的,而lib名和项目名是一致的,所以会发现头文件名可能和lib名称不一致。比如我的是demo.lib,demo1.h。
我们新建一个项目来使用我们刚才的项目,新建一个nomiss的项目(不要错过),下一步,控制台项目,选择空项目。从刚才项目把demo.lib和demo1.h放在新项目的文件夹里(想放哪个位置都行)。顺手新建个nomiss.cpp,添加现有项,找到demo1.h。这时候你会发现cpp里为什么demo1.h前面还是又波浪线啊,因为系统找不到你的头文件,于是点击项目,nomiss属性,配置属性,C/C++,常规。右边有附加包含目录,点击空白处后点击编辑,然后点击上面的文件夹样式图标,即添加新行,然后就文件查找你放置的demo1.h的目录吧。(这里是看不见头文件的,别慌。)这样头文件就好了。
现在添加lib文件。首先是找到目录,项目,nomiss属性,配置属性,链接器,常规,右边有个附加库目录。同理找到你的lib目录(这里也是看不见lib的哦)。然后又三种方法声明lib库,第一种在解决方案资源管理器,即左边资源文件里右键添加现有项找到demo.lib就可以,第二种是在cpp代码里添加#pragma comment(lib,"demo.lib") 就可以。第三种是在刚才的链接器,输入里,右边有附加依赖性,在上面写上你的demo.lib就可以了。现在写nomiss.cpp代码。
#include
#include
#include "demo1.h"
#pragmacomment(lib,"demo.lib")
using namespace std;
int main()
{
printf("%d\n",add(1,2));
zhao();
system("pause");
return 0;
}
然后运行哈。果断成功。生产lib和使用lib的方法到此结束。
本文档由赵雨殇编写。菜鸟一枚,还请大家指教。参考CSDN,百度百科等资料。第一次的博客哦,求赞。
联系方式:zhiqianghuo@126.com。