Windows下静态库和动态库的制作

来源:互联网 发布:c语言入门 编辑:程序博客网 时间:2024/05/21 11:13

静态库的制作:

makestatic.h文件

#pragma onceint test(int a,int b);
makestatic.cpp

#include"makestatic.h"int test(int a, int b){return a + b;}
把这个文件生成静态库

使用静态库步骤,配置工程属性链接静态库

1 添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

2 添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。

3 然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名

main.cpp注意:如果使用了第3个附加依赖项添加了指定文件名,就不需要手动用代码添加

#include"makestatic.h"#include<iostream>#pragma comment(lib,"makestatic.lib")//这个和附加依赖项是一样,指定库目录中的文件(这是用代码添加)using namespace std;int main(){int ret = test(10, 20);cout << ret << endl;system("pause");return 0;}

运行如下:




动态库制作:

第一步生成一个工程项目

第二步创建一个.h和.c文件生成动态库,记得.c和.h文件中都要加上   __declspec(dllexport)声明,因为动态链接库中定义有两种函数:导出函数和内部函数

导出函数可以被其它模块调用,内部函数在定义它们的DLL程序内部使用 ;  __declspec(dllexport)声明是声明函数为导出函数

第三步是配置项目属性。因为这是一个动态链接库,所以应在项目属性的配置属性下选择常规,在其下的配置类型中选择动态库(.dll)。最后“点击生成解决方案“”就生成动态库了

这时候资源文件夹文件夹debug文件夹里面有两个文件一个是dll一个是lib文件


把这.dll和.lib加上.h文件复制出来,拷贝到你要链接的那个工程中,

把头文件加载到你的工程项目中,在.c文件中就可以调用动态库的函数了


最后一步就是配置动态库了,点击属性——配置属性——链接器——附加在项目——编辑——添加你生成的.lib文件名,把.lib文件放到.c文件目录下

如果没有把.lib文件放入到.c目录下,会报无法打开.lib文件错误

 

运行一下如果没有成功就把生成的.dll文件放到debug可执行文件夹中,记住是上一层目录的debug文件夹中

原创粉丝点击