包构建忽略 Makevars 标志

2024-03-24

Question

我试图告诉我的包使用gcc来编译C++代码代替clang。为什么不是我的CXX我的旗帜Makevars文件正在使用?

(我期待/希望解决方案非常简单,但我却忽略了。)


这是我的理解(参见参考)我可以指定CXX*任一标志

  1. src/Makevars在包装中,或
  2. ~/.R/Makevars

但是,我无法使用选项 1,只能使用选项 2。

示例构建

以下是显示我正在使用的构建选项的屏幕截图。在每种情况下我都会展示Makevars/.R/Makevars文件来显示我在每种情况下使用的文件。

选项1:src/Makevars

这里我指定CXX11 = /usr/local/bin/g++-7 inside src/Makevars。构建消息说它正在构建clang

选项 2:~/.R/Makevars

这里我指定CXX11 = /usr/local/bin/g++-7 inside ~/.R/Makevars。构建消息显示它是用g++

示例包

我在最近使用的一些软件包上注意到了这一点Rcpp,但是如果你想要一个例子来测试我的googlePolylines包是在 github 上 https://github.com/SymbolixAU/googlePolylines.


参考

  • 使用备用 GCC 构建 R 包 https://stackoverflow.com/a/1618618/5977215
  • 了解 Makevars 的内容 https://stackoverflow.com/a/43599233/5977215

会议信息

devtools::session_info()
Session info ----------------------------------------------------------------------------------------------
 setting  value                       
 version  R version 3.4.3 (2017-11-30)
 system   x86_64, darwin15.6.0        ## Mac OS
 ui       RStudio (1.1.414)           
 language (EN)                        
 collate  en_AU.UTF-8                 
 tz       Australia/Melbourne         
 date     2018-03-11 

引用邓肯·默多克的话https://stat.ethz.ch/pipermail/r-package-devel/2017q4/002087.html https://stat.ethz.ch/pipermail/r-package-devel/2017q4/002087.html:

根据《编写 R 扩展》中的 1.2.1 节“使用 Makevars”, R_HOME/etcR_ARCH/Makeconf 包含在 Makevars 之后,所以你是什么 看见是设计使然。我相信这是为了让软件包是用 与构建 R 的工具兼容。(记住,包是 设计用于分发到不同的系统。)

所以你可能会改变里面的各种标志src/Makevars例如通过PKG_CXXFLAGS,但你不能覆盖CXXFLAGS or CXX本身。并且没有PKG_CXX.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

包构建忽略 Makevars 标志 的相关文章

随机推荐

  • Laravel 中的 Associate()

    我有 2 个模型 一个用户和一个地址 自从我读到它以来 我仍在尝试 Associate https laravel com docs 5 6 eloquent relationships updating belongs to relati
  • 为Windows应用程序实现webrtc数据通道[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有谁知道如何向用 C 构建的 Windows 应用程序实现 WebRTC DataChannel API 以便在 NAT 后面的客户端
  • Logstash 配置:检查布尔字段是否存在

    使用Logstash 1 4 2 我有一个字段myfield这是我的 JSON 文档中的布尔值 为了检查它是否存在 不关心布尔值 我使用了 if myfield exists else doesn t exist 测试该条件语句的结果是 m
  • 如何将换行符放入 R 中 xtable 的列标题中

    我有一个数据框 我正在将其放入sweave http www stat uni muenchen de leisch Sweave 使用 xtable 的文档 但是我的列名之一很长 我想将其分成两行以节省空间 calqc table lt
  • Weblogic:调用不带架构名称的 DB2 存储过程(属性 currentSchema)

    我有一个在 Weblogic 上运行的 Java 应用程序 应用程序需要访问 DB2 数据库中的存储过程 因此 JDBC 数据源是通过其 JNDI 名称来配置和访问的 数据源 ClassDriver com ibm db2 jcc DB2D
  • XSLT 生成 UUID

    如何使用纯 XSLT 生成 UUID 基本上是寻找一种使用 XSLT 创建独特序列的方法 该序列可以是任意长度 我正在使用 XSLT 2 0 这是一个好例子 http www pure xml com cblog index php arc
  • 如何使用 EPPlus 在 C# 中逐行读取 Excel 文件

    在我的 MVC 控制器中 我试图逐行读取 Excel 但是有一个问题 我希望能够将其映射到列表 模型类包含29个字段 public class GroupMembershipUploadInput public string chpt cd
  • 在 Visual Studio 中发布程序

    我是 Visual Studio 的新手 我正在尝试弄清楚如何 发布 我的程序 以便我可以将其移动到其他计算机并从那里运行它 我不确定这是否有什么不同 但我的解决方案中有三个项目 如果我发布它 我是否仍然能够继续开发原始文件等 多谢 好的
  • 画一条平滑的线

    我正在使用 libgdx 开发游戏 我想使用形状渲染器绘制一条平滑的线条 shaperenderer begin ShapeType Line shaperenderer line fisrstVec2 secondVec2 shapere
  • 如何通过Selenium和WebDriverWait等待元素包含特定属性?

    我有一个关于硒的问题是否有人可以帮忙 我需要进入一个 URL 页面 该页面上的节点最初处于 已注册 状态 X 秒后 其状态将动态更改为 就绪 状态 在其状态转变为 就绪 状态之前 我可能会在 selenium 执行期间继续执行后续步骤 这是
  • 使用 picasso 从 api 加载 recyclerview 中的图像

    使用 picasso 从 api 在 RecyclerView 中添加图像 使用Picasso加载图像非常简单 你可以这样做Picasso get load http i imgur com DvpvklR png into imageVi
  • 根据标签绘制分配颜色

    我确信有一个非常简单的方法可以做到这一点 但我一生都无法弄清楚 我正在 Plot ly 中绘制散点图 我绘制的每个点都被分配了一个标签 例如通过 高 低 西格玛高等 我的问题是我似乎无法修复plot ly 分配给每个标签的颜色 我希望 Pa
  • 将 Mechanize 设置为接受 cookie

    我正在尝试使用 mechanize 从网站检索一些数据以自动搜索公寓 无垃圾邮件 但是 当我向该站点发送请求时 响应具有以下标头 header Cache Control no store no cache max age 0 must r
  • IIS 7.5/Windows Server 2008 上的 PHP 错误日志

    我很困惑应该在运行 IIS 7 5 的 Windows 2008 Server 上寻找包含 php 错误的日志文件 我更熟悉 Mac OS X 的设置 在我的 php ini 文件中 我将 log errors 设置为 On 但我没有在该文
  • 在 CLion 中使用 WSL 工具链时如何启用 Rust 调试?

    我是 Rust 新手 现在在 Windows 上使用 CLion 和 JetBrains 的 Rust 插件 当我刚刚编译并运行时它运行良好 但是当我开始调试时 即使我将工具链切换到 WSL 它也会显示这样的对话框 我想知道 WSL 是否是
  • 在 React 中创建的选择控件不会在浏览器刷新时重置(IE11 和 Edge)

    我有一个非常简单的 React 应用程序 只有一个选择控件 查看工作应用程序here http www webpackbin com 4JyNOWVpW 选择控件有 3 个值 星期日 星期一和星期二 星期日是默认值 不幸的是 在 IE11
  • Java - ImageIO.write 的加载文件在 .jar 中不起作用

    我正在用 Java 制作一个游戏 我想将随机生成的地图保存在图像上 然后加载它 我的代码在 Eclipse 中工作没有问题 但是当我将其导出到 jar exe 文件时 创建文件 mapf 时出现问题 谢谢您的回答 private void
  • 我可以将动画应用到边距吗?

    我正在尝试在 CSS3 边距中制作动画 这这个网站 http css3 bradshawenterprises com transitions 似乎说你可以 但我无法工作 我实际上有3个动画 1 为简单的首字母fadeIn在初始负载上 然后
  • 使用AWS SQS作为Aurora数据库的写入队列来提高系统性能是否有效

    我正在 AWS 上开发一个 Web 应用程序服务器 需要支持高吞吐量的读写 我的老板给了我这样的高级设计 我被困在 写入队列 上 团队告诉我 我们需要它来提高写入性能 因为我们只能有 1 个可以写入的主副本 我对 SQS 和 RabbitM
  • 包构建忽略 Makevars 标志

    Question 我试图告诉我的包使用gcc来编译C 代码代替clang 为什么不是我的CXX我的旗帜Makevars文件正在使用 我期待 希望解决方案非常简单 但我却忽略了 这是我的理解 参见参考 我可以指定CXX 任一标志 src Ma