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

(1)Linux 下 QT 生成的(.o)、(.a)和(.so)三个文件的区别

  1. (.o)就相当于windows里的obj文件;
  2. (.a)即 linux 下的静态链接库(Statically Linked library),或称静态库;
  3. (.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)的链接文件,为了版本控制。
  • 软链接基本作用就是版本迭代,如果需要更换版本,只需要更改(.so)的指向,不用改(.so)的名字。
    软链接与硬链接区别
    软链接和硬链接到底有啥作用和区别

版权声明:本文为shinuone原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。