c++自定义静态库
创建静态库
![创建工程](https://img-blog.csdnimg.cn/20190521163328556.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3p5Yl9zc3M=,size_16,color_FFFFFF,t_70)
应用程序设置这里选静态库
创建一个头文件里面写函数的声明
int add(int a, int b);//函数声明
写个源文件,里面是头的实现
#include"mach.h"
int add(int a, int b)
{
return a + b;//返回a+b的值
}
右键项目点击生成按钮
会在工程的debug文件夹下生成一个项目名.lib文件
使用静态库文件
新建工程
#include<iostream>
using namespace std;
int main()
{
return 0;
}
将上面生成的lib文件和.h文件丢到这个新项目下
在工程中引入.h文件
#include"mach.h"
最重要的一步
设置链接器的输入
右键项目->属性->配置属性->链接器->输入,找到附加依赖项->编辑,将lib文件的名字写在里面,在点确定
这下可以正常运行了
动态的下次补
参考:
GetProcAddress()函数动态调用DLL中的函数,是否必须通过extern C声明导出函数?
关于VS2013下制作和使用静态库和动态库
DLL编写中extern “C”和__stdcall的作用
动态链接库dll的两种加载方式
头文件与库文件、静态链接与动态链接、静态库与动态库(共享库)