无法在 Windows 7 上使用 Rcpp 从源代码进行编译

2024-04-25

我正在 Windows 7 虚拟机上运行新安装的 R 3.3,并尝试安装我自己的使用 Rcpp 的 R 包。该软件包可在GitHub https://github.com/pbsag/tcadr。我已经安装了 Rtools 以及两者Rcpp and devtools

Using devtools::install_github("pbsag/tcadr"):

> devtools::install_github("pbsag/tcadr")
Downloading GitHub repo pbsag/tcadr@master
from URL https://api.github.com/repos/pbsag/tcadr/zipball/master
Installing tcadr
"C:/PROGRA~1/R/R-33~1.0/bin/x64/R" --no-site-file --no-environ --no-save  \
  --no-restore --quiet CMD INSTALL  \
  "C:/Users/Greg/AppData/Local/Temp/Rtmpwvw2qc/devtools1814572d2483/pbsag-tcadr-8ae1a82"  \
  --library="\\Mac/Home/Documents/R/win-library/3.3" --install-tests 

* installing *source* package 'tcadr' ...
** libs
c:/Rtools/mingw_64/bin/g++  -I"C:/PROGRA~1/R/R-33~1.0/include" -DNDEBUG    -I"\\Mac/Home/Documents/R/win-library/3.3/Rcpp/include" -I"d:/Compiler/gcc-4.9.3/local330/include"     -O2 -Wall  -mtune=core2 -c RcppExports.cpp -o RcppExports.o
RcppExports.cpp:4:18: fatal error: Rcpp.h: No such file or directory
 #include <Rcpp.h>
                  ^
compilation terminated.
make: *** [RcppExports.o] Error 1
Warning: running command 'make -f "C:/PROGRA~1/R/R-33~1.0/etc/x64/Makeconf" -f "C:/PROGRA~1/R/R-33~1.0/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="tcadr.dll" WIN=64 TCLBIN=64 OBJECTS="RcppExports.o get_df_from_binary.o write_df_to_binary.o"' had status 2
ERROR: compilation failed for package 'tcadr'
* removing '\\Mac/Home/Documents/R/win-library/3.3/tcadr'
Error: Command failed (1)

在 Rstudio 中克隆存储库和构建:

==> Rcmd.exe INSTALL --no-multiarch --with-keep.source tcadr

* installing to library '\\Mac/Home/Documents/R/win-library/3.3'
* installing *source* package 'tcadr' ...
** libs
c:/Rtools/mingw_64/bin/g++ -shared -s -static-libgcc -o tcadr.dll tmp.def RcppExports.o get_df_from_binary.o write_df_to_binary.o -Ld:/Compiler/gcc-4.9.3/local330/lib/x64 -Ld:/Compiler/gcc-4.9.3/local330/lib -LC:/PROGRA~1/R/R-33~1.0/bin/x64 -lR
C:\Rtools\mingw_64\bin\nm.exe: RcppExports.o: File format not recognized
C:\Rtools\mingw_64\bin\nm.exe: get_df_from_binary.o: File format not recognized
C:\Rtools\mingw_64\bin\nm.exe: write_df_to_binary.o: File format not recognized
RcppExports.o: file not recognized: File format not recognized
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'tcadr'
* removing '\\Mac/Home/Documents/R/win-library/3.3/tcadr'

Exited with status 1.

这个问题 https://stackoverflow.com/questions/37189183/o-file-format-not-recognized-on-windows-7有同样的错误,但接受的答案并不适用,因为我的 git 存储库中没有任何已编译的对象文件。

请注意,我在 Windows 7 或 Mac 上的 3.2 中构建此包没有任何问题。


会议信息

R version 3.3.0 (2016-05-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

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

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

other attached packages:
[1] devtools_1.11.1

loaded via a namespace (and not attached):
[1] httr_1.1.0     R6_2.1.2       tools_3.3.0    withr_1.0.1    rstudioapi_0.5
[6] curl_0.9.7     memoise_1.0.0  git2r_0.15.0   digest_0.6.9 

我最近不得不在 Windows 服务器上处理同样的问题。该问题与 Rtools 版本需要 v3.4 而不是 v3.3 才能与 R v3.3.0 配合使用有关。

此外,您需要从系统的路径中删除旧的 Rtools 路径PATH多变的before重新安装!:

c:\Rtools\bin and c:\Rtools\gcc-4.x-y\bin

从以下位置下载 Rtoolshttps://cran.r-project.org/bin/windows/Rtools/ https://cran.r-project.org/bin/windows/Rtools/

Edit 1

默认情况下,它看起来像 Rtools 3.4。设置为在安装时包含这两个路径:

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

Edit 2

使用 RTools,您可以:

  1. R toolset
  2. Cygwin DLLs
  3. R 3.3.x + 32 bit toolchain
  4. R 3.3.x + 64bit toolchain

确保检查以上所有内容。

接下来尝试自己安装包依赖:

install.packages(c("Rcpp","dplyr","data.table","testthat"))

从 GitHub 克隆存储库并打开项目文件后。尝试去BuildRStudio 中的选项卡,然后选择More -> Clean and Rebuild.

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

无法在 Windows 7 上使用 Rcpp 从源代码进行编译 的相关文章

  • 如何从R中的日期中提取月份

    我正在使用lubridate封装并应用month从日期中提取月份的函数 我在日期字段上运行了 str 命令 得到了 Factor w 9498 levels 01 01 1979 01 01 1980 5305 1 1 1 1 1 1 1
  • 如何在 R 中为回归量创建“宏”?

    对于长且重复的模型 我想创建一个 宏 在 Stata 中称为 宏 并通过以下命令完成 global var1 var2 其中包含回归量的模型公式 例如来自 library car lm income education prestige d
  • rpart是自动剪枝吗?

    Is rpart自动修剪 生成的决策树rpart比具有自动修剪功能的 Oracle Data Mining 生成的级别要多得多 否 但拟合函数的默认值可能会 提前 停止分割 对于 早期 的某些定义 See rpart control对于您可
  • 如何使用 sprintf 函数在字符中添加前导“0”而不是空格?

    我正在尝试使用sprintf函数为字符添加前导 0 并使所有字符长度相同 然而我得到的是领先空间 My code a lt c 12 123 1234 sprintf 04s a 1 12 123 1234 我试图得到什么 1 0012 0
  • ggplot 图例标签内的希腊字母、符号和换行符

    我在尝试着 有换行符 自动或强制 对齐文本 左对齐或左右对齐 有希腊字母和百分号 在 gglot 图例标签内 我尝试了几种方法 但我似乎无法将我读到的所有技巧结合起来 我可以通过插入来换行 n进入标签 但这似乎不适用于希腊字母 不适用于图例
  • 在函数中使用 quit/q 会导致 RStudio 出现致命错误

    更多的是好奇 但当你使用时q or quit在 R studio 内的函数内部 它会导致致命错误 如下所示 但 rgui 中的相同函数会导致 R 像往常一样停止 并且仅使用q 在 RStudio 中按预期关闭 R 为什么q在函数中导致 RS
  • 从 data.frame 中提取时用 NA 填充缺失的列

    我有一个函数 它将具有某些列的数据框作为输入 columns a b z 现在我有一个数据框DF只有很少的这些列DF columns f u z 如果列不在其中 如何创建一个包含所有值为 NA 的列的数据框DF这与DF在柱子上 f u z
  • 为每个因素级别添加日期时间序列

    我有一个带有因子列的数据框 s lt data frame id 901 910 s id lt as factor s id 我有一个日期时间序列 library lubridate start lt now as difftime 2
  • 在`rmarkdown`中,如何在句子中添加图标?

    In rmarkdown 如何在句子中添加图标 例如如下 如何添加markdown icon单词 Markdown 和 is 之间 有一个很好的 R 包 可以轻松下载 RMarkdown 文档并将图标添加到其中 icons https gi
  • R data.table 多个条件连接

    我设计了一种解决方案 用于从两个单独数据表的多个列中查找值 并添加基于新列的值计算 多个条件比较 代码如下 它涉及在计算两个表中的值时使用 data table 和联接 但是 这些表没有联接在我正在比较的列上 因此我怀疑我可能无法获得 da
  • 函数“[<-”将_替换_一个元素,但不会追加_元素_

    我在使用时注意到以下几点 lt 我成功于替换元素但不位于追加向量的一个元素 例子 VarX lt integer VarX 1 lt 11 lt VarX 2 22 VarX 1 11 Expected the value of VarX
  • R Leaflet Legend:colorBin-删除中断之间的小数

    我正在使用 Leaflet 库在 R 中创建交互式 HTML 地图 传说中采用的是colorBin用于创建将数据分为 6 个类别的方法 使用min values and max values 我已经定义了美国社区调查收入数据的特定范围可能落
  • 通过 R 中的数据子集执行计算

    我想对数据框的 PERMNO 列中的每个公司编号进行计算 其摘要可以在此处查看 gt summary companydataRETS PERMNO RET Min 10000 Min 0 971698 1st Qu 32716 1st Qu
  • 如何返回包含最大值标签的向量

    我有一个 4 列数组 我想获得一个向量 其中每行包含包含该行最大值的列的标签 我可以在循环中执行此操作 但我想使用矩阵函数来提高速度 我怎样才能在不编写自己的库函数的情况下做到这一点 有一个函数可以做到这一点 如果x是你的矩阵 尝试max
  • R中整数类和数字类有什么区别

    我想先说我是一个绝对的编程初学者 所以请原谅这个问题是多么基本 我试图更好地理解 R 中的 原子 类 也许这适用于一般编程中的类 我理解字符 逻辑和复杂数据类之间的区别 但我正在努力寻找数字类和整数类之间的根本区别 假设我有一个简单的向量x
  • 更快的 %in% 运算符

    The 快速匹配 https cran r project org web packages fastmatch index html包实现了更快的版本match对于重复匹配 例如在循环中 set seed 1 library fastma
  • 如何自动启动我的 ec2 实例、运行命令然后将其关闭?

    我想每周对 redshift postgres 数据库中的数据运行一次机器学习模型 我使用以下命令将 R 脚本设置为休息 apiplumbr然后我将其设置为一项任务来管理pm2 我有它 所以任务会在ec2实例启动然后继续运行 要让 R 脚本
  • R - 与 SpatialPolygonsDataFrame 对象相交的 SpatialLinesDataFrame 列表的嵌套循环

    我有一系列需要完成的步骤SpatialLinesDataFrame 此处的 线 基于对象与多特征中各个特征的关系SpatialPolygonsDataFrame 多边形 对象 简而言之 每个线列表元素源自单个面要素内部 并且可能会也可能不会
  • 如何绘制堆积比例图?

    我有一个数据框 x lt data frame id letters 1 3 val0 1 3 val1 4 6 val2 7 9 id val0 val1 val2 1 a 1 4 7 2 b 2 5 8 3 c 3 6 9 我想绘制一个
  • 无法部署 ShinyApp:readTableHeader 在“raw”上发现不完整的最后一行(使用默认值:en_US)

    我已经拼命尝试部署我的闪亮应用程序大约一周了 但不幸的是我无法停止收到以下消息 Warning message Error detecting locale Error in read table file file header head

随机推荐