gpt4 book ai didi

c++ - Linux C++ 库包含不同的 GCC 编译版本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:52 25 4
gpt4 key购买 nike

感谢How to retrieve the GCC version used to compile a given ELF executable?我可以检查新构建的 C++ 库的 GCC 编译版本,它提供了以下信息:

GCC: (Ubuntu/Linaro 4.4.7-1ubuntu2) 4.4.7
GCC: (Debian 4.4.5-8) 4.4.5

C++ 库似乎包含不同的 GCC 编译版本。我知道原因,因为创建最终库所需的一个库来自第三方库,它是二进制的,没有提供源代码。所以我的问题是:在这种情况下我可以安全地释放库吗?或者我应该获取第三方的源代码并使用一个 GCC 编译器构建所有代码?谢谢。

最佳答案

如果您在编译代码时成功地使用了库二进制文件,则没有技术的理由需要源代码来重新构建它。如果该库与您当前的构建环境不兼容,则您依赖二进制文件的代码将无法编译。 (或者如果包含适当的声名/版本检查,则不应在没有警告的情况下编译)

也就是说,库是二进制文件而不是与源代码一起分发可能是有原因的。在这里,您需要检查是否存在与使用库二进制文件相关的法律 要求,您需要在发布库之前遵守这些要求。 注意这是一个法律问题,而不是技术问题。查找二进制文件随附的 ReadmeLicense 文件,并确定是否有与之关联的许可证。它可能会提供指向其特定最终用户许可协议(protocol) (EULA) 的链接,或者它可能会将您定向到标准软件许可协议(protocol)(即 Creative-Commons、GPLv3 等...)

如果您的项目是商业项目,那么在发布您的库之前确保合规是值得的。 (知识产权诉讼非常昂贵...)

关于c++ - Linux C++ 库包含不同的 GCC 编译版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27012077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com