美文网首页
关于Qt程序中动态和静态的几点总结

关于Qt程序中动态和静态的几点总结

作者: feiyangqingyun | 来源:发表于2022-03-02 08:53 被阅读0次
  • 在Qt程序中,分动态库版本的Qt和静态库版本的Qt。
  • 官方默认提供的二进制包就是动态库版本的Qt,如果自行编译则编译的时候对应参数 -shared。
  • 静态库版本的Qt需要自行编译,编译的时候对应参数 -static,(理论上无论商业非商业使用Qt静态库需要收费,因为静态编译后都看不到Qt的相关库文件)。
  • 使用动态库的Qt支持编译生成动态库和静态库(CONFIG += staticlib)的程序。
  • 使用动态库的Qt程序支持动态库的引用(引用的时候 LIB += ,运行的时候需要动态库文件比如 .dll .so 文件支持)。
  • 使用动态库的Qt程序支持静态库的引用(引用的时候 LIB += ,运行的时候无需库文件支持,可以理解为该文件已经和可执行文件合二为一,缺点是可执行文件体积变大)。
  • 通过生成文件的个数和大小可以发现,静态库相当于把运行时需要的文件也一并合并到一个文件了,而动态库是拆分成两个文件,一个用于编译,一个用于运行。
  • 上述动态库的规则也通用于静态库。
  • 此规则应该是通用于其他语言框架。
  • 很多人有个误区包括几年前的我,以为要用Qt编写静态库就必须用静态的Qt库,其实动态库的Qt也可以编写静态的库,只是该库不会生成动态库文件。
  • 如果要将Qt程序编译成静态的可执行文件(单个文件无依赖),前提是所用的Qt库必须静态的。

相关文章

  • 关于Qt程序中动态和静态的几点总结

    在Qt程序中,分动态库版本的Qt和静态库版本的Qt。 官方默认提供的二进制包就是动态库版本的Qt,如果自行编译则编...

  • iOS静态库和动态库的使用

    iOS开发中静态库和动态库区别 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序...

  • iOS中的静态库和静态库

    一、静态库和动态库的含义 所谓静态和动态是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时...

  • iOS 静态库Framework开发(包含静态库,bundle使

    静态库和动态库 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要...

  • iOS静态库和动态库的区别

    iOS开发中静态库和动态库区别: 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程...

  • 软件测试的概念和分类

    测试方法分类: 1.静态和动态测试 静态:寻找程序代码中可能存在的错误 动态:运行被测试程序,输入相应的测试数据 ...

  • iOS开发-动态库加载(实时模块更新)

    动态库和静态库 静态库和动态库是相对编译期和运行期:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要改...

  • gcc的一些编译规则和原理

    可执行文件的入口函数 关于.so的执行 静态链接和动态链接 静态搜索路径和动态搜索路径 关于exe的静态链接 关于...

  • iOS-SDK从无到有

    A、关于静态库和动态库 静态库:.a和.framework ,动态库:.dylib和.framework。.fra...

  • 知识点:OC中.a和framework的区别(转)

    OC中的库概念 库是共享程序代码的方式,一般分为静态库和动态库 静态库 && 动态库 区别 静态库:链接时,完整的...

网友评论

      本文标题:关于Qt程序中动态和静态的几点总结

      本文链接:https://www.haomeiwen.com/subject/wqjsrrtx.html