Linux下QT生成的(.o)、(.a)、(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)之间的区别

记录一下遇到的问题:

Linux系统下Qt编译第三方动态库会生成多个.so文件,不了解的小伙伴可能很疑惑:
(1)Linux 下 QT 生成的(.o)、(.a)和(.so)三个文件的区别
(.o)就相当于windows里的obj文件;
(.a)即 linux 下的静态链接库(Statically Linked library),或称静态库;
(.so)即 linux 下的共享库(Shared library),或称动态库;
【备注】在VS中静态库的后缀名为(.lib);动态库的后缀名为(.dll)。

(2)Linux 下 QT 生成的(.so)、(.so.1)、(.so.1.0)和(.so.1.0.0)四个文件的区别
QT在生成动态库时,会默认生成(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)四个文件。
其中,(.so.1.0.0)为实际的动态库文件,(.so)、(.so.1)、(.so.1.0)均为软链接,都是指向(.so.1.0.0)的链接文件,为了版本控制。

如果不需要Qt生成版本控制,只要单独的so,在pro文件中添加:

CONFIG += plugin

加上之后,使用QCreator编译完之后只会生成一个.so文件;


顺带推荐一下最近众测的一把键盘,非常酷,且有点格调的TB80,俗称菜刀80,是一把很不错的80配列键盘,详情链接,感兴趣的小伙伴可以瞅瞅。也可以加群581777550了解更多信息。
Linux下QT生成的(.o)、(.a)、(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)之间的区别_第1张图片
Linux下QT生成的(.o)、(.a)、(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)之间的区别_第2张图片

Linux下QT生成的(.o)、(.a)、(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)之间的区别_第3张图片

Linux下QT生成的(.o)、(.a)、(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)之间的区别_第4张图片
刀纹配重有没有很酷,不同灯光下纹路还不一样,非常的好看哦!
Linux下QT生成的(.o)、(.a)、(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)之间的区别_第5张图片

你可能感兴趣的:(编程笔记,Qt,Qt,动态库,.so,Linux)