Эта проблема возникла из-за тестирования моего пакета R (RcppParallel) в Windows через win-builder-r, так как для моего Mac проблем нет.
"error: 'mt19937' is not a member of 'std'"
Кроме того, эта ошибка появляется первой:
D: /Compiler/gcc-4.9.3/mingw_32/i686-w64-mingw32/include/c ++ / bits / c ++ 0x_warning.h: 32: 2: error: #error Этот файл требует поддержки компилятора и библиотеки для ISO Стандарт C ++ 2011. Эта поддержка в настоящее время является экспериментальной и должна быть включена с помощью опций компилятора -std = c ++ 11 или -std = gnu ++ 11.
Минимальный пример можно найти в этом предыдущем посте, используйте последний: Вызов функции «mypackage» внутри общественного работника
<random>
заголовок в целом и std::mt19337
в частности, доступны только с C ++ 11 и выше. И если вы хотите использовать C ++ 11 в Windows в контексте пакета R, вы должны добавить
CXX_STD = CXX11
в src/Makevars.win
(Источник: Написание R расширений). На других платформах часто обходятся без этого, так как там используются новые компиляторы, которые по умолчанию используют C ++ 11.
Других решений пока нет …