gpt4 book ai didi

c++ - 使用来自另一个包的少量 C++ 级代码

转载 作者:行者123 更新时间:2023-11-30 01:43:10 25 4
gpt4 key购买 nike

<分区>

有一个 R 包定义了一些方便的函数,用于将文件从 zip 存档中提取到 C++ 中的 std::string 中。我想在我自己的包中使用这些函数,但我不能简单地链接到它们,因为 header 不在原始包的 inst/include 目录中。

我的问题是基于我的理解,即 C++ 级代码在包外不可用,除非 header 位于 inst/include 中。

要使用代码,我的选择是:

  1. 请求包维护者将 C++ 头文件移动到 inst/include 目录,这样我就可以通过 linkingTo 从我的包中调用它 DESCRIPTION 文件。

  2. 复制并确认代码,这意味着将 GPL-3 许可证传播到我自己的包中。

  3. 复制并毫无意义地更改代码以规避版权。

  4. 复制代码,大约 20 行,不更改,不承认,不传播 GPL-3 许可证。

  5. 创建一个单独的小包,使我想要的代码在 inst/include 中可用,致谢原作者,并向其本身传播 GPL-3 许可证(但不向我的实际的包,它只是包含它)。

还有其他选择吗?我是不是误会了Writing R ExtensionsRcpp

澄清:我绝不容忍选项 3 和 4,在我看来,它们是作弊。因此问题。阅读答案的人现在会看到这样的事情被视为作弊。但当做“正确的事”比简单的 Imports: package 更难时,人们会考虑它们,这就是我将它们包括在内的原因。

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