无法在 R Markdown 中使用 Rcpp 引擎

2023-11-23

我尝试过了Knit HTML以下 Rmd 文件:

---
title: "Untitled"
author: "Florian Privé"
date: "12 septembre 2016"
output: html_document
---

```{r fibCpp, engine='Rcpp'}
#include <Rcpp.h>

// [[Rcpp::export]]
int fibonacci(const int x) {
    if (x == 0 || x == 1) return(x);
    return (fibonacci(x - 1)) + fibonacci(x - 2);
}
```

我收到以下错误:

Building shared library for Rcpp code chunk...
Warning message:
l'exécution de la commande 'make -f "C:/PROGRA~1/R/R-33~1.1/etc/x64/Makeconf" -f "C:/PROGRA~1/R/R-33~1.1/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="sourceCpp_2.dll" WIN=64 TCLBIN=64 OBJECTS="file110c1d4643e9.o"' renvoie un statut 127 


Quitting from lines 11-18 (test.Rmd) 
Error in (function (file = "", code = NULL, env = globalenv(), embeddedR = TRUE,  : 
  Error 1 occurred building shared library.
Calls: <Anonymous> ... block_exec -> in_dir -> engine -> do.call -> <Anonymous>
Exécution arrêtée

我做错了什么吗?是不是和Windows有关的问题?

环境信息来自sessionInfo()

R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

locale:
[1] LC_COLLATE=French_France.1252  LC_CTYPE=French_France.1252   
[3] LC_MONETARY=French_France.1252 LC_NUMERIC=C                  
[5] LC_TIME=French_France.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] magrittr_1.5    rsconnect_0.4.3 htmltools_0.3.5 tools_3.3.1     yaml_2.1.13    
 [6] Rcpp_0.12.7     stringi_1.1.1   rmarkdown_1.0   stringr_1.1.0   digest_0.6.10  
[11] evaluate_0.9   

Rtools 安装检查通过devtools::find_rtools()

[1] TRUE

由于。。。导致的结果Sys.getenv()['PATH']

## PATH                  C:\Program
##                       Files\R\R-3.3.1\bin\x64;C:\ProgramData\Oracle\Java\javapath;C:\Program
##                       Files\NVIDIA GPU Computing
##                       Toolkit\CUDA\v7.5\bin;C:\Program
##                       Files\NVIDIA GPU Computing
##                       Toolkit\CUDA\v7.5\libnvvp;;C:\Program Files
##                       (x86)\Intel\iCLS Client\;C:\Program
##                       Files\Intel\iCLS
##                       Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program
##                       Files (x86)\Windows Live\Shared;C:\Program
##                       Files\Intel\Intel(R) Management Engine
##                       Components\DAL;C:\Program
##                       Files\Intel\Intel(R) Management Engine
##                       Components\IPT;C:\Program Files
##                       (x86)\Intel\Intel(R) Management Engine
##                       Components\DAL;C:\Program Files
##                       (x86)\Intel\Intel(R) Management Engine
##                       Components\IPT;C:\Program Files
##                       (x86)\Skype\Phone\;C:\Users\Florian\.dnx\bin;C:\Program
##                       Files\Microsoft DNX\Dnvm\;C:\Program Files
##                       (x86)\NVIDIA
##                       Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Users\Florian\Anaconda3;C:\Users\Florian\Anaconda3\Scripts;C:\Users\Florian\Anaconda3\Library\bin;C:\Program
##                       Files
##                       (x86)\Java\jre1.8.0_101\bin\client;C:\texlive\2015\bin\win32

根据所要求的信息Sys.getenv['PATH']不包含路径Rtools以及其中的知识knitr错误是由无效触发的engine路径,我认为你正在成为受害者开发工具::find_rtools()在设置时抛出误报。

这是通常的情况,因为如果无法找到Rtools在系统路径上,它扫描Rtools在注册表中,然后设置一个环境标志。在运行 rmarkdown 或包构建阶段期间,环境标志通常不会保留。另请参阅:为什么我需要在 has_devel() = TRUE 之前运行 find_rtools()?

例如。如果关闭所有打开的会话R会话,然后打开一个newR 会话和唯一类型Rcpp::evalCpp("2 + 2")你可能会触发编译错误。

解决这个问题的方法很简单:Add the Rtools安装位置到PATH系统变量。我维护了一个安装指南,实际上可以引导您逐步完成此过程:http://thecoatlessprofessor.com/programming/rcpp/install-rtools-for-rcpp/

从 Rtools 3.4 开始,必须将两个位置添加到PATH are:

c:\Rtools\bin;
c:\Rtools\mingw_32\bin;

修改您的PATHWindows 上的变量可以看到:

  • 如何在 Windows 10 中设置系统环境变量?
  • 什么是 PATH 和其他环境变量?如何设置或使用它们?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 R Markdown 中使用 Rcpp 引擎 的相关文章

随机推荐

  • 如何在Tensorflow 2.0中使用gradient_override_map?

    我正在尝试使用gradient override map与张量流2 0 有一个文档中的示例 我也将在这里用作示例 In 2 0 GradientTape可用于计算梯度 如下所示 import tensorflow as tf print t
  • 在 SDK 工具修订版 12 中启动 Android 模拟器

    我将 Android SDK 工具从修订版 11 更新到修订版 12 模拟器现在无法启动 当我尝试运行 emulator exe 时 我得到 无效的命令行参数 Files Android android sdk tools emulator
  • 为什么音频和视频事件不冒泡?

    我想知道为什么我的一些 Javascript 无法工作 直到我发现音频事件没有在 DOM 树中冒泡 例如这timeupdate event 是否有理由不让音频和视频标签的事件冒泡 事件冒泡存在的原因是为了解决哪个元素是事件的预期目标这一含糊
  • 序言。结构(复杂术语)和谓词,我真的不明白区别

    我是序言新手 我似乎无法理解结构和谓词之间的区别 真的有什么区别吗 在四处挖掘时 我发现有些人认为f X a X 是一个谓词 有些人认为嫉妒 X Y 爱 X Z 爱 Y Z 是一个结构 或一个复杂的术语 他们对我来说看起来几乎一样 有人愿意
  • Android 上使用 SoundPool 实现无缝循环?

    我尝试使用 SoundPool 类循环短 20kb 无间隙 ogg 文件 但在硬件测试时无法获得一致的结果 它总是使用模拟器完美播放 但当我在 Nexus 1 或 Samsumg Galaxy Tab 10 1 上进行测试时 每个循环点都会
  • 手动生成条令段

    我在 Symfony2 项目中使用 slugable 行为 但现在我想根据不同的文本 当前标题 旧标题 表单输入中的用户文本 为一个页面制作许多 slugs 并将其保留在另一个页面中桌子 我的问题是 如何手动使用任何文本的学说扩展 我到处都
  • 大数据读取子样本R

    我非常感谢您花时间阅读本文 我有一个 30GB 的超级文件 其中包含 600 万条记录和 3000 个 csv 格式的列 主要是分类数据 我想引导子样本进行多项回归 但事实证明 即使我的机器中有 64GB RAM 和两倍的交换文件 这个过程
  • 在 XHTML 1.1 中:元素“input”不能嵌套在元素“form”内。为什么?

    下面的代码在 XHTML 1 1 严格模式下是被禁止的
  • python 中仅按第一个空格分割字符串[重复]

    这个问题在这里已经有答案了 我有字符串例如 238 NEO Sports 我只想在first空间 输出应该是 238 NEO Sports 我能想到的一种方法是使用split 最后合并返回的最后两个字符串 有没有更好的办法 只需将计数作为第
  • 如何从java执行https GET请求

    我写了一个Java客户端 它执行httpGET 请求没有任何问题 现在我想修改这个客户端以便执行https获取请求 import org apache http HttpHost import org apache http auth Au
  • Angular 6 复选框过滤器

    我想使用复选框通过变量 类别 过滤 JSON 对象 产品 列表 产品如下 bikeId 6 bikeName Kids blue bike bikeCode KB 3075 releaseDate June 28 2016 descript
  • Fortran - 在运行时设置变量的种类/精度

    是否可以将变量本身的精度设置为将在运行时定义的变量 假设我尝试编译 SUBROUTINE FOO VARIABLE PRECISION VALUE IMPLICIT NONE INTEGER 4 PRECISION VALUE INTEGE
  • IIS 返回 404 未找到 .mp4 文件

    我使用 html video 标签来播放视频 在我的本地主机中视频播放 但是当我发布 没玩过 我已经创建了基于ASP NET的项目 我在本地使用类似这种方法 http localhost 41563 files Just mp4 当我发布网
  • 如何精确测量绳子的宽度?

    首先 问一个问题How to measure width of character precisely 这是回答 对于这种情况并没有真正的帮助 所以这不是那个的重复 我有一根绳子 我画画使用graphics DrawString 但是当我需
  • 三角形网格的测地线计算? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我试图找到三角表面上两点之间的距离 测地距离 这看起来像是一个基本操作 但并不简单 所以我想知道是否有任何图书馆可以做到这一点 我的谷歌搜索失败了
  • 从 Android-NDK 应用程序发送意图

    我正在 android 下用 C 编写一个本机应用程序 我需要广播一些意图 这可能吗 如果您要向我指出 JNI 请给我更多详细信息 因为我不确定这是如何完成的 如果这是不可能的 我会做的是在 NDK 守护进程和 Java Android S
  • 何时在 UIComponent 上调用 setValue 和 setSubscribedValue?

    如果我正确地组合了 BalusC 2006 年精彩帖子中包含的信息http balusc blogspot ch 2006 09 debug jsf lifecycle html擎天柱的更早的帖子http cagataycivici wor
  • JavaScript 中的两种方式哈希 JSON 字符串以在 URL 中使用

    我想获取一个 JSON 字符串并对其进行加密 哈希 编码 以便我可以将其放入 URL 中 使其类似于如下所示 var stringToEncode JSON stringify foo baz bar 1 2 3 4 5 baz fizzl
  • 在 WinForms 应用程序中嵌入视频

    我需要能够使用 C 在 WinForms 应用程序中嵌入并控制 AVI 文件的播放 视频需要嵌入到表单中 而不是在单独的媒体播放器窗口中启动 执行此操作的最佳方法是什么 我发现了 System Media 命名空间 这听起来很有希望 但似乎
  • 无法在 R Markdown 中使用 Rcpp 引擎

    我尝试过了Knit HTML以下 Rmd 文件 title Untitled author Florian Priv date 12 septembre 2016 output html document r fibCpp engine R