dll和lib关系及使用
对于dll和lib两者的关系,需要理解的一个概念是编译时和运行时。
编译完成之后,可以在指定的目录下面找到.lib和.dll。
对于B,也需要一系列的处理:
首先是头文件,需要把A里面对于类定义的头文件夹放到项目属性中的包含目录下,如下图:
图3
这里面发现了一个比较有意思的事情,原先我以为只要把头文件加到solution栏里面的项目头文件处就可以了(如下图),项目就会自动包含进来。没想到不是这样子的,关键还是在上图的包含目录里面加入头文件所在的文件夹路径,下图解决方案里面的可能只是方便开发人员打开头文件设置的,加不加不影响编译和运行。
图4
其次是附加库目录和附加依赖项:
图5
图6
附加库目录也可以通过图3中的‘库目录’替代,两者效果一样。
附加依赖项是包含所需要的lib文件,可以指定全路径,也可以只是指定名字,当只指定名字的时候,系统会在附加库目录或者库目录里面搜寻。如果不指定附加依赖项,也可以通过在代码里面加入#pragma comment(lib,"XXX.lib")来实现。
dll和lib关系及使用的更多相关文章
- Linux的.a、.so和.o文件 windows下obj,lib,dll,exe的关系
Linux的.a..so和.o文件 - chlele0105的专栏 - CSDN博客 https://blog.csdn.net/chlele0105/article/details/23691147 ...
- .h头文件 .lib库文件 .dll动态链接库文件关系
.h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的. 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和lib就够 ...
- Linux的.a、.so和.o文件 windows下obj,lib,dll,exe的关系 动态库内存管理 动态链接库搜索顺序 符号解析和绑定 strlen函数的汇编实现分析
Linux的.a..so和.o文件 - chlele0105的专栏 - CSDN博客 https://blog.csdn.net/chlele0105/article/details/23691147 ...
- VS2010 C++环境下DLL和LIB文件目录及名称修改
VS2010 C++环境下DLL和LIB文件目录及名称修改 转自:http://blog.csdn.net/archielau/article/details/8507581 DLL工程,Debug版 ...
- C++导出文件后缀dll,lib,exp,def
简要的介绍一下在微软开发工具中(VC)静态链接库和动态链接库生成过程中出现的.dll .lib .def 和 .exp文件类型.windows平台上可执行文件可能是一个.exe文件也可能四个.dl ...
- dll和lib(包括静态链接库和与dll同时生成的lib)
转:http://blog.csdn.net/galaxy_li/article/details/7411956 1:神马是Dll和Lib,神马是静态链接和动态链接 大家都懂的,DLL就是动态链接库, ...
- Linux的.a、.so和.o文件 对比 window下的dll,lib,exe文件
连续几天终于将一个又一个问题解决了,这里说其中一个问题 描述问题:使用多线程pthread的时候,(我用的IDE,CODEBOLCKS)编译后发现直接弹出窗口,程序还没有被Build..巴拉巴拉,然后 ...
- 后缀名“.dll .obj .lib”和“ .so .o .a”文件的区别含义
(1) .dll .obj .lib使用在windows平台下. .dll:动态链接库,作为共享函数库的可执行文件. .obj:目标文件,相当于源代码对应的二进制文件,未经 ...
- DLL和LIB的一些知识点(网上搜集)
关于lib和dll的区别如下:(1)lib是编译时用到的,dll是运行时用到的.如果要完成源代码的编译,只需要lib:如果要使动态链接的程序运行起来,只需要dll.(2)如果有dll文件,那么lib一 ...
随机推荐
- Java学习知识体系大纲梳理
感悟 很奇怪,我怎么会想着写这么一篇博客——Java语言的学习体系,这不是大学就已经学过的课程嘛.博主系计算机科班毕业,大学的时候没少捧着Java教程来学习,不管是为了学习编程还是为了期末考个高分,都 ...
- mui实现图片更换(暂未上传)
页面中有默认的图片,触发type为file的input时,更换图片,这个是mui移动端的项目,算了,不多说,开码 首先,先在html页面中设置样式,样式我就不给了,贴个布局 <div class ...
- datatables添加长按事件
长按事件 $.fn.longPress = function (fn) { var timeout = undefined; var $this = this; for (var i = 0; i & ...
- SqlServer自定义排序
在实际项目中,有时会碰到数据库SQL的特殊排序需求,举几个例子,作为参考. 1.自定义优先级 一种常见的排序需求是指定某个字段取值的优先级,根据指定的优先级展示排序结果.比如如下表: Create T ...
- poj 3159 Candies (差分约束)
一个叫差分约束系统的东西.如果每个点定义一个顶标x(v),x(t)-x(s)将对应着s-t的最短路径. 比如说w+a≤b,那么可以画一条a到b的有向边,权值为w,同样地给出b+w2≤c,a+w3≤c. ...
- UVA 1614 - Hell on the Markets 奇怪的股市(贪心,结论)
先证明一个结论吧,对于1≤ai≤i+1,前面ai个数一定可以凑出1~sum[i]中的任意一个数. 对于i=1显然成立, 假设对于i=k结论成立,那么对于i=k+1来说,只要证明sum[k]+i,1≤i ...
- OpenCascade:Topo类型转换
OpenCascade:Topo类型转换 TopoDS_Edge newEdge; if (oldShape.ShapeType()==TopAbs_EDGE) newEdge=TopoDS::Edg ...
- CVE-2014-1767
[0x00].简介 CVE-2014-1767漏洞是由于Windows的afd.sys驱动在对系统内存的管理操作中,存在着悬垂指针的问题.在特定情况下攻击者可以通过该悬垂指针造成内存的double ...
- 实现HTTP文件下载
[原文:http://www.jb51.net/article/89958.htm] HTTP实现文件下载时,只要在服务器设置好相关响应头,并使用二进制传输文件数据即可,而客户端(浏览器)会根据响应头 ...
- c++调用系统关机命令 c++调用暂停命令
#include<stdlib.h> int main() { //调用系统dos命令 system("shutdown -s -t 120"); ; } system ...