导航:首页 > 源码编译 > 编译的时候需要lib

编译的时候需要lib

发布时间:2023-02-14 01:59:43

A. windows中LIB和DLL的区别与使用

关于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装载。

B. windows使用thrift c++ 需要编译lib吗

1.从boost pro下载安装boost库,包括源文件和lib库。

2.从libevent官网下载libevent库,只有源文件。

3.从thrift官网,使用svn方式下载thrift库,只有源文件。(千万别用压缩包版本的Release发布包,里面的路径都不对)

4.在thrift库的cpp文件夹里,有libthrift和libthriftnb两个工程,这两个工程都可以直接使用VS2010打开。
其中,libthrift需要链接boost的源文件,引用boost lib库。
而libthriftnb不仅仅需要boost的源文件和boost lib库,还需要引用libevent源文件。
然后就可以编译libthrift和libthriftnb两个工程。

5.在thrift的svn的tutorial目录下,用thrift-0.8.0.exe编译tutorial.thrift和shared.thrift,会得到一堆cpp和h文件。这时,新建一个C++ Console空工程,把这些文件都引入。
期间还需要做一些小修正:
5.1 删除thrift文件里的D语言(因为没有这语言的编译器)
5.2 删除shared的skeleton.cpp(防止与Calculator的skeleton.cpp的main冲突)
5.3 为CalculatorHandler类增加一个getStruct函数实现(防止VS2010报错说不能实例化虚类,getStruct方法的内容为空,返回值和参数,直接复制SharedServiceIf.h里的)

C. 有的程序为何只有dll没有lib

首先,dll的调用不一定需要*.lib这个引入库。
dll调用分为两种方式,一是隐式链接,二是显式链接。隐式链接就是使用*.lib的,这就需要在编译的时候有这个lib文件。而显式链接,就是使用LoadLibrary这个API函数来实现动态加载,因此,不需要lib这样的引入库。
再者,就算是使用隐式链接,lib只是在编译的时候确定DLL接口,使得调用者可以很便捷地使用dll文件,但在发布的时候,是不需要连同lib一起发布。
如果你要发布一个dll形式的SDK,就很有必要将头文件,dll文件连同引入库一起发布,以方便使用者调用。

D. lib文件用什么软件打开 后缀名lib是什么格式文件

lib文件是什么?lib文件格式介绍如下:LIB有两种,一种是静态库,静态库,一般在编程序的软件里才带有的库文件。另一种当然是动态库了,这种库文件,是主要供其它程序调用的,直接打不开。需要借助VB、PB等软件才能打开,或者用编程语言来打开,当然VC自带的mpbin或者直接任意商业的反汇编工具如IDA,w32dasm也是可以的。lib格式图标如下:lib文件是什么以及lib文件怎么打开详情如下: LIB 文件摘要LIB 文件与 三 种文件类型相关联,可以使用 Unknown Developer 开发的 Unknown Software查看。 总的来说,这种格式与 三 种已知的软件应用程序相关联。 它们通常以 Generic Data Library 文件格式存在。LIB 文件扩展名主要归类于 Data Files 类别。 在不太常见的应用程序中,它们也可以是 Text Files。
Windows 和 Mac支持文件扩展名 LIB。 这些类型的文件主要可以在桌面设备上和某些移动设备上找到。普及性为“低”时,普通人通常不会使用这些文件。
要了解有关 LIB 文件及其相关软件应用程序的更多信息,请参阅以下信息。 另外,我们提供了一个基本的故障排除指南,以解决打开 LIB 文件的问题。
LIB 文件的种类3 种已知文件类型使用此扩展名Generic Data Library Finale Library Microsoft Linker Input Library Data 主导 LIB 文件类型 .LIB文件 ID:.lib 组:Generic Data Library所述 LIB 文件扩展名是使用各种方案,作为包含由程序引用的常量和函数的信息库中的数据文件类型。它也可能包含图像,文本剪报,那是不应该手动,因为它由应用程序本身所引用打开其他实际的对象。
开发商:Various Developers文件类别:数据文件注册表项: HKEY_CLASSES_ROOT.lib打开 Generic Data Library的软件程序:
Unknown Developer 开发的 Unknown Software (软件环境: Windows)替代 LIB 类型 .LIB文件 ID:.lib 组:Finale Library的LIB的文件扩展名是与压轴软件,这是在生产的乐谱的使用的程序相关联的数据文件类型。一些音乐符号数据被包括在LIB文件类型如;文档设置,文本表述,设置和弦或关节。
开发商:MakeMusic, Inc.文件类别:数据文件打开 Finale Library 文件的软件程序:
MakeMusic, Inc. 开发的 Finale
兼容:(软件环境: Windows) (软件环境: Mac).LIB文件 ID:.lib 组:Microsoft Linker Input Library Data的LIB的文件扩展名是用于通过链接器输入文件中的一个的源代码和脚本文件类型。 Link支持COFF标准库以及COFF导入库。双方都有LIB文件扩展名。 LIB工具创建包含在链接器输入库中的对象。链接导入库的内容包括有关信息
开发商:Microsoft Corporation文件类别:文本文件打开 Microsoft Linker Input Library Data 文件的软件程序:
Microsoft Corporation 开发的 Microsoft Visual Studio
兼容:(软件环境: Windows)LIB 疑难解答 典型的 LIB 开放挑战 缺少 Unknown Software 尝试打开 LIB 文件时,您收到错误 “无法打开 LIB 文件类型”。 发生这种情况时,通常是由于 %%os%% 中缺少 Unknown Software。 您的操作系统无法将 LIB 与 Unknown Software 关联,因此双击该文件将无法正常工作。
提示:如果你知道有其他软件打开 LIB 文件,你可以通过点击 “显示应用程序” 按钮来选择该软件。
Unknown Software 的过时版本 在某些情况下,您可能有 Generic Data Library 文件的较新(或较旧)版本,该版本 不受安装的应用程序版本的支持 。 访问 Unknown Developer 网站下载(或购买)最新版本的 Unknown Software。 此问题主要发生在您的 Generic Data Library 文件是由比电脑上的更新版本的 Unknown Software 创建的时候。
示: 右键单击 LIB,然后单击 “属性”(Windows)或 “获取信息”(Mac),可以提供有关文件版本的线索。
摘要:计算机上没有正确的 Unknown Software 版本可能会导致打开 LIB 文件时出现问题。
难以打开 LIB 文件的其他原因 尽管您的计算机上可能已经安装了 Unknown Software 或其他 LIB 相关软件,但是打开 Generic Data Library 文件时仍可能遇到问题。 其他 LIB 打开错误可能是由 %%os%% 中的其他系统问题造成的。 其他因素包括:
LIB 文件类型注册表项错误 错误地从注册处删除了 LIB 文件说明 Unknown Software 或其他 LIB 相关程序的安装损坏 LIB 本身已损坏 过去或现在的病毒感染影响了你的 LIB LIB 相关硬件的设备驱动程序已过期 您的 计算机没有足够的系统资源 来打开 Generic Data Library 格式lib文件是什么以及lib文件怎么打开扩展阅读.LIB 文件扩展名2种文件类型 使用.LIB文件扩展名1.静态数据连接库2.通用数据库文件类型 1静态数据连接库开发者N/A常用度十分少用格式文件后缀.lib文件分类系统文件LIB是什么文件? LIB文件是Windows操作系统的静态数据连接库,起到链接程序和函数(或子过程)的作用,相当于Linux系统中的.A或.0、.SO文件。LIB文件存放着函数调用的信息。
LIB文件扩展信息数据库有静态数据库(LIB文件)和动态数据库(DLL文件)。LIB是编译时用到的,DLL是运行时用到的。如果要完成源代码的编译,只需要LIB;如果要使动态链接的程序运行起来,只需要DLL。
一个LIB文件是.OBJ文件的集合。当然,其中还夹杂着其他一些辅助信息,目的是为了让编译器能够准确找到对应的OBJ文件。
LIB文件是不对外公开的,除非有专门的LIB查看工具,否则不能查看LIB文件中对函数的具体实现过程。
LIB文件怎么打开?如果你电脑上打不开LIB文件,原因可能有很多,而最常见最主要的原因就是你的电脑没有安装可以打开LIB文件的软件;Windows系统会弹出提示框:“若要打开此文件,Windows需要知道哪个程序打开它”,最简单直接的解决办法就是下载并安装合适的软件来打开LIB文件。
可以打开LIB文件的软件程序

E. 在TC中,怎样用命令编译lib库

定义函数库的方法及应用:
一、2个相关的命令
1、TCC——TC的DOS下的命令行编译连接工具
2、TLIB——TC的DOS下的库操作工具
二、1个自定义的函数库的例子
1、
在TC集成环境下,编一个文件USERADD.C
#define
_NO_MAIN
int
add(int
*a,int
*b)
{
int
c;
c=(*a)+(*b);
return
c;
}
按ALT—F9编译
生成一个
USERADD.OBJ文件。
2、按F10—F—O
退到DOSSHELL(DOS环境下)
COPY
USERADD.OBJ

..\LIB目录,在\LIB目录下执行
TLIB
USERLIB.LIB+USERADD.OBJ
就生成了一个自己的函数库
USERLIB,在这个函数库里就包含了函数模块
int
add(int
*a,int
*b)
的二进制代码。现在已经将自定义的函数放进了函数库,就可以把原文件USERADD.C删掉不要了。(当然,为了以后维护方便,还是作一个备份为好)。
以后如有其它的函数模块,也可以编译后用TLIB
命令加入到这个函数库里。
3、写一个包含文件
USER1.H,写完后COPY到INCLUDE
目录。内容如下:
int
add(int
*,int
*);
4、作好了以上的自定义函数库的准备工作,现在就可以使用了。
写一个程序,取名为ADD-1.C,在程序中调用库函数add(
);
#include
#include
void
main(
)
{
int
a,b,c;
a=20;b=30;
c=add(&a,&b);
printf(“%d”,c);
}
5、在DOS命令行下,执行
TCC
ADD-1.C
..\LIB\USERLIB.LIB
就OK!
运行ADD-1.EXE,可以看到输出结果
50
Tc生成lib的方法:
扩展库与自建LIB库使用扩展库TC所带的库在有的情况下是无法满足功能要求的,自己写一个太麻烦,找到了一个LIB库又怕不会用。在WIN-TC中,对于使用外部的扩展库(第三方LIB)提供了一个方便的解决方法:首先要确定你的LIB库是FOR
TC版本的而不是FOR
VC或是其它的。如果确定是FOR
TC的版本的话就把你的首标文件(或称头文件),就是扩展名为*.h的文件拷贝到WIN-TC的include目录里,然后把相应名称的*.lib文件拷贝到lib目录,然后再运行WIN-TC时选择“编译配置”菜单项,你会看到扩展库信息栏目里有你的LIB库文件名在上面了,但是没有打钩。然后你把它钩选后再“确定”保存,以后的编译程序时就自动链接该扩展库了。自建立LIB库将自己的代码编译成LIB库的格式有利与保护自己的代码版权。如何来生成自己的LIB库呢?请按照下面的方法:
STEP
1——生成目标代码(OBJ)
建立mylib的代码文件/*********************
mylib.c
*********************/void
myfun(){printf("
myfun()
in
mylib.lib
");}然后保存为WIN-TC目录下的mylib.c文件然后到菜单项:运行->编译设置
看看“产生
OBJ
文件”是否已选择,若未选择则选择之。然后回到主界面,点“编译链接”按钮(F9
查看原帖>>

F. lib文件是什么是不是编译自动生成我不加lib文件运行不了

lib文件是静态库,这种文件中有头文件中声明的函数的实现代码,一般用在静态连编上,编译链接时,将lib文件与其他模块编译生成的目标代码链接,从而形成能够运行的可执行文件。
#pragma comment(lib, "pcc32_vc6.lib")就是连入一个库文件,表示链接pcc32_vc6.lib这个静态库文件来生成可执行文件。

阅读全文

与编译的时候需要lib相关的资料

热点内容
我的世界网易版怎么压缩地图 浏览:682
qq小程序云服务器和 浏览:739
方舟服务器怎么玩才好玩 浏览:557
单片机的部件 浏览:621
编译原理遍的过程 浏览:252
python读取json字符串 浏览:62
ubuntu1404安装php 浏览:628
lua能编译吗 浏览:116
思仙怎么看服务器 浏览:658
php微信图片防盗链 浏览:798
安卓1怎么读音 浏览:291
农业app怎么开通快捷支付 浏览:910
pythonredisdict 浏览:385
如何攻击别人网赌服务器 浏览:880
隐私与应用加密的图案密码 浏览:38
陈情令王一博解压 浏览:39
c编译器使用说明 浏览:707
郑州前端程序员私活有风险吗 浏览:14
小型螺杆机压缩机 浏览:520
成人解压最好的方法 浏览:52