Android GNU C++ 运行时许可
Android 平台并未提供完整的 C++ 运行时实现。因此,依赖于 STL、异常或 RTTI 等功能的应用,必须包含一个额外的原生运行时库,以提供所需的功能。
使用 g++ 构建时,Qt 将使用作为 Google Android NDK 组成部分分发的 GNU libstdc++ 库。Qt Creator 会将该库复制到任何基于 Qt 的 Android 应用的 .APK 中。 随后,应用程序将在启动时加载该库,以满足 Qt 的运行时要求。GNU C++ 运行时根据GNU 通用公共许可证第 3 版(GNU General Public License version 3)授权,其中包含一项例外条款:允许应用程序进行运行时链接并使用该库,否则此类行为将违反主许可证的条款。 有关此例外条款的更多信息,请参阅官方许可页面。
当 Qt 使用 clang 构建时,将采用 LLVM 的 libc++,该库同时受伊利诺伊大学“BSD 类”许可证和 MIT 许可证的双重许可。
来自 GCC 头文件中的 GNU C++ 运行时许可证信息
本文件是 GNU ISO C++ 库的一部分。该库是自由软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款(第 3 版或(由您选择)任何后续版本)对其进行再分发和/或修改。
分发此库是希望它能派上用场,但不作任何保证;甚至不作适销性或适用于特定目的的默示保证。更多详情请参阅 GNU 通用公共许可证。
根据 GPL 第 3 版第 7 条,您被授予自由软件基金会发布的《GCC 运行时库例外》(第 3.1 版)中所述的额外许可。
您应已随本程序收到一份 GNU 通用公共许可证和一份 GCC 运行时库例外条款的副本;请分别参阅文件 COPYING3 和 COPYING.RUNTIME。若未收到,请访问 <http://www.gnu.org/licenses/>。
GCC 运行时库例外
GCC 运行时库例外
第 3.1 版,2009 年 3 月 31 日
版权 (C) 2009 自由软件基金会(Free Software Foundation, Inc.)
任何人都可以复制和分发本许可文件的逐字副本,但不得对其进行修改。
本 GCC 运行时库例外(以下简称“例外”)是 GNU 通用公共许可证第 3 版(以下简称“GPLv3”)第 7 条下的附加许可。 它适用于带有文件版权所有者所放置的通知的特定文件(“运行时库”),该通知声明该文件受 GPLv3 以及本例外条款的约束。
当您使用 GCC 编译程序时,GCC 可能会将某些 GCC 头文件和运行时库的部分内容与编译后的程序结合在一起。本例外的目的是允许非 GPL(包括专有)程序的编译,以便以这种方式使用本例外所涵盖的头文件和运行时库。
0. 定义。
如果一个文件在编译过程后需要运行时库才能执行,或者使用了运行时库提供的接口,但除此之外并非基于运行时库,则该文件即为“独立模块”。
“GCC”指受 GNU 通用公共许可证(GPL)第 3 版(或指定的后续版本)约束的 GNU 编译器集合(无论是否经过修改),并可选择使用 FSF 发布的任何后续版本。
“GPL兼容软件”是指其传播、修改和使用条件允许根据GCC许可与GCC进行组合的软件。
“目标代码”指任何编译器针对真实或虚拟目标处理器架构生成的输出,其形式为可执行形式,或适合作为汇编器、加载器、链接器和/或执行阶段的输入。 尽管如此,目标代码不包括以任何格式存在、用作编译器中间表示形式或用于生成编译器中间表示形式的数据。
“编译过程”将完全以专为人类编写代码设计的非中间语言和/或 Java 虚拟机字节码表示的代码转换为目标代码。 因此,例如,源代码生成器和预处理器的使用无需被视为编译过程的一部分,因为编译过程可以理解为从生成器或预处理器的输出开始。
如果编译过程是使用 GCC(单独使用或与其他 GPL 兼容软件一起使用)完成的,或者是在不使用任何基于 GCC 的作品的情况下完成的,则该编译过程是“合格的”。 例如,使用非 GPL 兼容软件来优化任何 GCC 中间表示形式,均不符合“合格编译过程”的条件。
1. 附加许可的授予。
您有权传播由运行时库与独立模块组合而成的目标代码作品,即使此类传播原本会违反 GPLv3 的条款,但前提是所有目标代码均由符合条件的编译过程生成。 随后,您可以根据您选择的条款(且该条款须与独立模块的许可一致)分发此类组合。
2. 不削弱 GCC 版权保留。
本例外条款的适用并不意味着可普遍推定第三方软件不受 GCC 许可协议中copyleft 要求的约束。
关于 LLVM C++ 运行时许可的信息
============================================================================== libc++ 许可 ==============================================================================
libc++ 库同时采用伊利诺伊大学“BSD 类”许可证和 MIT 许可证进行双重许可。作为该代码的用户,您可以选择根据任一许可证使用它。作为贡献者,您同意允许您的代码在两种许可证下均被使用。
相关许可证的全文如下。
==============================================================================
伊利诺伊大学/NCSA 开源许可
版权 (c) 2009-2017 归 CREDITS.TXT 中列出的贡献者所有
保留所有权利。
开发团队:
LLVM 团队
伊利诺伊大学厄巴纳-香槟分校
http://llvm.org
特此免费授权任何获得本软件及相关文档文件(以下简称“软件”)副本的人士,无限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利, 并允许软件的受让方进行上述行为,但须遵守以下条件:
* 源代码的再分发必须保留上述版权声明、本条件列表以及以下免责声明。
* 以二进制形式再分发时,必须在随分发版本提供的文档和/或其他材料中转载上述版权声明、本条件清单以及以下免责声明。
* 未经事先明确书面许可,不得使用 LLVM 团队、伊利诺伊大学厄巴纳-香槟分校或其贡献者的名称来为源自本软件的产品背书或进行推广。
本软件按“原样”提供, 不提供任何形式的明示或暗示保证,包括但不限于适销性、特定用途的适用性以及不侵权的保证。 在任何情况下,贡献者或版权持有者均不对因本软件、 源于、基于或与本软件、对本软件的使用或与本软件相关的其他交易有关的,无论该索赔、损害赔偿或其他责任是基于合同、侵权或其他原因,贡献者或版权持有者均不承担任何责任。
==============================================================================
版权所有 (c) 2009-2014,归 CREDITS.TXT 中列出的贡献者所有
特此免费授权任何获得本软件及相关文档文件(以下简称“软件”)副本的人,无限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利, 并允许软件的受让方进行上述操作,但须遵守以下条件:
上述版权声明及本许可声明应包含在软件的所有副本或实质性部分中。
本软件按“原样”提供, 不提供任何形式的明示或暗示保证,包括但不限于对适销性、特定用途的适用性及不侵权的保证。 在任何情况下,作者或版权持有者均不对因本软件、本软件的使用或与本软件相关的任何索赔、损害或其他责任承担责任,无论该索赔、损害或其他责任是基于合同、侵权或其他原因产生, 源于、出于或与本软件、本软件的使用或其他相关交易有关的,无论该索赔、损害赔偿或其他责任是基于合同、侵权或其他原因。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.