这一篇以VS2013为例子介绍怎样编写一个静态链接库和调用。

1、打开VS2013,新建Visual C++ 的win32项目:

新建后工程分支如下:

添加头文件和源文件:

编写头文件和源文件内容:

调用静态链接库

编写调用程序:

其中,#pragma comment(lib,"staticLibSrc.lib")的作用是引入lib文件,不加这一句的话,也可以在工程的配置中引入,也就是先添加VC++目录中的包含目录和库目录,然后到连接器的输入中添加lib文件的名称:

通过上面这种方式也可以引入lib文件。但是这样还不够,上面是设置了在工程里引入lib文件,还需要把lib文件拷贝到相应的位置(也就是上图设置的位置,我上面这么写的话就只要跟工程中的cpp文件放一起就OK):

这样就OK了,编译的时候就不会报错找不到lib文件。

两点注意:

  1. 编译得到的静态链接库可以放在任意位置,但是在编写调用它的程序的时候一定要配置工程环境,或者说让编译器知道调用的静态链接库放置在哪里;
  2. 调用静态链接库的exe文件一旦生成就不再需要静态链接库了,这个时候就不需要把静态链接库的.h文件和.lib文件跟exe文件放置在一起。

二年寄迹闽山寺,一笑翻然向浙江。

明月不知君已去,夜深还照读书窗。

  -- 刘子翚《绝句送巨山》

最新文章

  1. ios手势操作,四个基本事件与六个常用事件
  2. [小北De编程手记] : Lesson 03 玩转 xUnit.Net 之 Fixture(上)
  3. hdu 4412 2012杭州赛区网络赛 期望
  4. Linux下memcached安装和启动方法
  5. linux笔记:shell基础-环境变量配置文件
  6. 百度地图开发 android App 数字签名(SHA1)获取办法
  7. Linux 挂载存储方法
  8. iOS开发技巧系列---详解KVC(我告诉你KVC的一切)
  9. 转载:在Ubuntu系统下装Win7并引导双系统
  10. 《C专家编程》第一天
  11. .net 反编译利器 dnspy
  12. delete了,析构函数却没有调用
  13. [LeetCode] Zuma Game 题解
  14. Selenium 高阶应用之WebDriverWait 和 expected_conditions
  15. 利用浏览器查找font-family的css编码
  16. formData 对象 与 Content-Type 类型
  17. kubernetes命令详情
  18. css去掉滚动条
  19. 3466 ACM Proud Merchants 变形的01背包
  20. bresenham 算法生成直线

热门文章

  1. Java中数组的创建
  2. java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with specified [javax.transaction.TransactionManager] required
  3. java注解——内置注解和四种元注解
  4. HDU - 1166 敌兵布阵 (线段树---点修改)
  5. Live555 的一个缺陷–例子不能支持多线程(已经修改成支持多线程)
  6. Live555研究之一 源代码编译
  7. [JZOI]1251.收费站[二分][最短路]
  8. Python 中使用动态创建类属性的机制实现接口之后的依赖
  9. 七十四、SAP中内表的4中删除方法
  10. 二十、SAP中定义内表