Эта запись в блоге Дирк Эдельбюттель заявляет:
Rcpp, как пакет CRAN, следует политике CRAN, не поддерживая (пока, по крайней мере) этот стандарт [C ++ 11] для его предполагаемого непереносимого статуса.
Записи в блоге уже два года, и мне было интересно, правда ли это до сих пор (как в отношении политик CRAN, где я не нашел никаких подсказок о C ++ 11, так и о поддержке Rcpp).
Кроме того, я хотел бы знать, что это значит точно. Я использовал CXX_STD = CXX11
заявление в src/MAKEVARS
файл (а не Sys.setenv("PKG_CXXFLAGS"="-std=c++11")
как предложено в записи блога). Кажется, это работает с теми функциями C ++ 11, которые я использую (в основном, с функцией tgamma), Rcpp и R. Но получу ли я раздражение, когда отправлю свой пакет в CRAN? Будет ли пакет недоступен для некоторых операционных систем?
Все вышеперечисленные комментарии и попробуйте:
// [[Rcpp::plugins(cpp11)]]
Есть несколько пакетов, которые требуют C ++ 11, поиск CRAN для SystemRequirements: C++11
, а также Rcpp
, Например. http://cran.us.r-project.org/web/packages/contoureR/index.html который имеет простейшую конфигурацию пакета без использования Rcpp::plugins(cpp11)
,
Мой случай необычен, потому что по неясным причинам сопровождающего CRAN на эзотерических платформах OpenMP и C ++ 11 не сочетаются друг с другом (см. https://github.com/jackwasey/icd как это сделать с помощью скрипта настройки).