gpt4 book ai didi

c++ - 将第三方库与程序可执行文件分开

转载 作者:行者123 更新时间:2023-11-27 23:49:04 26 4
gpt4 key购买 nike

我已经开始使用 C++ 开发一个使用一些第三方开源库的项目。我很好奇,我应该如何构建这个项目以避免许可证污染?

如果我要编译单个可执行文件,那么我将不得不遵守第三方库使用的相同开源许可证,因为我的工作将包含二进制形式的库,对吗?

我使用 visual studio 作为 ide 和编译器。 visual studio 中是否有一个选项可以配置,以便在我构建项目时,所有第三方库都单独包含在它们自己的目录中,从而允许我的程序使用它们而无需编译到我的可执行文件中?这样我就可以在不同的许可下许可我的项目?

另一方面,我还有一个源文件来 self 的项目中包含的一个库。我猜这将是一个问题,无论我如何分离库,因为这个源文件被编译到我的应用程序中?

最佳答案

许可条款通常不会随着您将文件放入哪个文件夹而改变!

如果您链接到的库 (.lib) 是 GPL,那么您的代码是派生作品,也是 GPL。同样,如果您直接使用来自 GPL 项目的源代码,您也创建了一个派生作品。 MIT/BSD 等其他更宽松的许可证没有此功能。

如果库是 LGPL 并且您动态链接它们(即您发送 .dll - 假设您使用的是 Windows)那么您的代码不是 GPL。

参见 https://www.gnu.org/licenses/gpl-faq.html ,尽管请注意,他们的观点对于您应该如何许可您的代码是一种相当有偏见的观点,这是可以理解的。

关于c++ - 将第三方库与程序可执行文件分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48103139/

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