Предупреждения, выдаваемые на этапе компиляции stan

Я получаю два предупреждения на этапе компиляции cpp со всеми программами stan, которые я отправляю.

C:/Larry/R/win-library/3.4/BH/include/boost/config/compiler/gcc.hpp:186:0: предупреждение: "BOOST_NO_CXX11_RVALUE_REFERENCES" переопределено # определить BOOST_NO_CXX11_RVALUE_REFERENCES

а также

cc1plus.`exe: предупреждение: нераспознанный параметр командной строки «-Wno-ignored-attributes»

Поскольку я не получаю этих предупреждений при отправке других программ Rcpp, я подозреваю, что они генерируются в ходе компиляции gc++ программы Stan. Они кажутся безобидными, но смущают. Я вижу много других сообщений на Stack Overfkiw, которые включают эти предупреждения, но я не нашел ни их объяснений, ни способов исправить то, что вызывает эти предупреждения.

Я использую R 3.4.3 и RStudio 1.1.383 в Windows 10 с Rtools 3.4.0.1964. Я был бы благодарен любому, кто объяснит мне эти предупреждения и что я должен сделать, чтобы исправить их.


person Larry Hunsicker    schedule 17.12.2017    source источник


Ответы (1)


Не беспокойтесь ни о том, ни о другом.

Первый сообщает вам, что он переопределяет эту вещь Boost, но переопределяет ее так, как она уже была установлена.

Второго можно избежать, если убрать -Wno-ignored-attributes из строки CXXFLAGS вашего файла ~/.R/Makevars. Это относится к другому компилятору или версии или чему-то еще и игнорируется.

person Ben Goodrich    schedule 18.12.2017
comment
Основная проблема заключается не в коде Стэна, а в коде Boost, который Стэн импортирует через пакет CRAN BH. Единственный способ исправить это — взломать Boost, используя защиту заголовков и порядок включения каждый раз, когда версии Boost меняются. Возможно, стоит сделать это снова в какой-то момент, так как все ложные срабатывания очень беспокоят пользователей. Я также видел такие вещи, как изменения часовых поясов, возникающие при компиляции моделей Стэна — понятия не имею, почему они вмешиваются. - person Bob Carpenter; 19.12.2017