永发信息网

如何在编译器里设置调用别人写好的lib和dll步骤

答案:1  悬赏:20  手机版
解决时间 2021-11-16 00:26
如何在编译器里设置调用别人写好的lib和dll步骤
最佳答案
如何在编译器(vs2008)里设置调用别人写好的lib和dll
如何在编译器(vs2008)里设置调用别人写好的lib和dll
步骤:1.Tools->options->projects and solutions->VC++ directories分别在包含文件,库文件填加了路径

(这些路径只告诉编译器怎么找文件,没有说把那里面的文件加入工程.)

(若不设置,编译报错:无法打开***文件)

2.Project->properties->c/c++->general->additional include directories 添加包含文件

Project->properties->linker->general->additional library directories 添加库文件

Project->properties->linker->input->additional additional dependencies添加用到的lib

(这一步也可以在代码中显示调用 #pragma comment(lib, "***.lib") )

(若不添加,连接报错:无法解析的外部符号)

3.将dll文件拷贝到工程debug文件下(如果不拷贝,编译链接不报错,运行报错:无法找到***.dll)切记第三条,让老子排查了一上午,当然最好把所有输出目录定位到一个文件下面。

附:

DLL与LIB文件的区别

共有两种库:
一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接 库dynamic link library。
一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。
共有两种链接方式:
动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定 位DLL函数的可执行代码所需的信息。
静态链接使用静态链接库,链接器从静态链接库LIB获取所有被引用函数,并将库同代码一起放到可执行文件 中。

关于lib和dll的区别如下:
(1)lib是编译时用到的,dll是运行时用到的。如果要完成源代码的编译,只需要 lib;如果要使动态链接的程序运行起来,只需要dll。
(2)如果有dll文件,那么lib一般是一些索引信息,记录了dll中函数的入口和位 置,dll中是函数的具体内容;如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。使用静态编译的lib文件,在运行程序时 不需要再挂动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性,发布新版本时要发布新的应用程序才行。
(3)动态链接的情况下,有两个 文件:一个是LIB文件,一个是DLL文件。LIB包含被DLL导出的函数名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到DLL 文件。在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中相应函数代码的地址,从而节省了内存资源。DLL和LIB文件必须随应用程序 一起发行,否则应用程序会产生错误。如果不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载。

使用lib需注意两个文件:
(1).h头文件,包含 lib中说明输出的类或符号原型或数据结构。应用程序调用lib时,需要将该文件包含入应用程序的源文件中。
(2).LIB文件,略。

使 用dll需注意三个文件:
(1).h头文件,包含dll中说明输出的类或符号原型或数据结构的.h文件。应用程序调用dll时,需要将该文件包含 入应用程序的源文件中。
(2).LIB文件,是dll在编译、链接成功之后生成的文件,作用是当其他应用程序调用dll时,需要将该文件引入应用 程序,否则产生错误。如果不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载。
(3).dll文件,真正的可执行文件,开发成功后的应用 程序在发布时,只需要有.exe文件和.dll文件,并不需要.lib文件和.h头文件
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有一个男生曾经告过一次白,但是说不打破朋友
缝制真皮座椅用的是什么线
浙江永嘉到江西省京德镇有多少么里
有用玉肤人绝缘微针脱唇毛成功的吗
威海云境公寓(淮河路分店)地址有知道的么?有
从南宁市明秀市场到南宁市江北大道凌铁路20号
关于win10什么鬼
宜兴市洋溪镇中心幼儿园地址好找么,我有些事
防冻液一大壶和一小瓶是配套使用吗?
开火锅店预算和明细怎么做?
住宅小区开狗店又臭晚上又吵有什么办法吗?应
莫旗首套二手房98.76过户多少税
吉林省松原市乾安县地震最新消息2016年10月24
在闽清县做什么生意好
如图薄线衫里面搭什么衣服穿。。。
推荐资讯
稻草发修复一号是洗发露?
不瞒你说之前我删掉关于你的一切,唯独你送我
面积3.5x2.3 假设布料30一米!是多少钱?
6口之家要买多少kg的洗衣机?
木林森照明地址在什么地方,想过去办事,
桶装水,每次都要打电话?了?一个月比如我喝
99×355+354×1简便方法是怎么做
带连字和军字的一句名言
歌词中有“情”字的歌有哪些?
海航会引起股市大跌吗
求[主家教]以我之姓TXT
祝老婆教师节美文心语!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?