首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rcpp11下编译失败,找不到“未来”

在Rcpp11下编译失败,找不到“未来”
EN

Stack Overflow用户
提问于 2014-10-20 19:02:33
回答 1查看 686关注 0票数 0

我试图使用Rcpp11绑定编译一个R包,以使用遮罩下的C++11二进制文件。我已经成功地在我的Mac (OSX10.9.5,编译器是clang++)上编译和使用了这个包:

Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn) Target: x86_64-apple-darwin13.4.0 Thread model: posix

但是,在64位Red下使用g++编译器4.4.7-4进行编译的尝试失败,因为无法找到标题、库或命名空间future

In file included from RcppExports.cpp:4: /path/to/R-libs/3.1/Rcpp11/include/Rcpp.h:50:18: error: future: No such file or directory

据我所知,future是C++11规范的一部分。我感到奇怪的是,其他几个名称空间被成功加载(我们成功地将其加载到Rcpp.h的第50行),但future没有。这是由于使用了过时的编译器吗?作为参考,我将将实际调用附加到失败的g++编译器:

g++ -m64 -std=c++0x -I/usr/include/R -DNDEBUG -I/usr/local/include -I"/path/to/R-libs/3.1/Rcpp11/include" -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RcppExports.cpp -o RcppExports.o

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-20 21:01:53

Rcpp11不编译时,通常意味着编译器不是C++11编译器。Rcpp11的早期版本在C++11的含义上使用了一些折衷方法,但下一个版本不会妥协。C++11 = C++11,不是未完成的C++0x

C++11和forward的伟大之处在于它们是如何结合在一起的。

拥有C++11编译器是使用Rcpp11所要付出的代价。我认为这是一种特写。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26473038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档